@browserless.io/browserless 2.36.0 → 2.37.1

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 (559) hide show
  1. package/CHANGELOG.md +16 -2
  2. package/build/browsers/index.d.ts +1 -0
  3. package/build/browsers/index.js +18 -2
  4. package/build/http.d.ts +3 -2
  5. package/build/http.js +3 -2
  6. package/build/routes/chrome/http/content.post.query.json +3 -0
  7. package/build/routes/chrome/http/download.post.query.json +3 -0
  8. package/build/routes/chrome/http/function.post.query.json +3 -0
  9. package/build/routes/chrome/http/pdf.post.query.json +3 -0
  10. package/build/routes/chrome/http/performance.post.query.json +3 -0
  11. package/build/routes/chrome/http/scrape.post.query.json +3 -0
  12. package/build/routes/chrome/http/screenshot.post.query.json +3 -0
  13. package/build/routes/chrome/tests/content.spec.js +21 -0
  14. package/build/routes/chrome/tests/json.spec.js +100 -0
  15. package/build/routes/chrome/tests/kill-sessions.spec.js +0 -11
  16. package/build/routes/chrome/ws/browser.query.json +3 -0
  17. package/build/routes/chrome/ws/cdp.query.json +3 -0
  18. package/build/routes/chrome/ws/function-connect.d.ts +7 -0
  19. package/build/routes/chrome/ws/function-connect.js +6 -0
  20. package/build/routes/chrome/ws/function-connect.query.json +123 -0
  21. package/build/routes/chrome/ws/page.query.json +3 -0
  22. package/build/routes/chromium/http/content.post.query.json +3 -0
  23. package/build/routes/chromium/http/download.post.query.json +3 -0
  24. package/build/routes/chromium/http/function.post.query.json +3 -0
  25. package/build/routes/chromium/http/pdf.post.query.json +3 -0
  26. package/build/routes/chromium/http/performance.post.query.json +3 -0
  27. package/build/routes/chromium/http/scrape.post.query.json +3 -0
  28. package/build/routes/chromium/http/screenshot.post.query.json +3 -0
  29. package/build/routes/chromium/tests/content.spec.js +21 -0
  30. package/build/routes/chromium/tests/function.spec.js +27 -0
  31. package/build/routes/chromium/tests/json.spec.js +100 -0
  32. package/build/routes/chromium/ws/browser.query.json +3 -0
  33. package/build/routes/chromium/ws/cdp.query.json +3 -0
  34. package/build/routes/chromium/ws/function-connect.d.ts +1 -0
  35. package/build/routes/chromium/ws/function-connect.js +1 -0
  36. package/build/routes/chromium/ws/function-connect.query.json +123 -0
  37. package/build/routes/chromium/ws/page.query.json +3 -0
  38. package/build/routes/edge/http/content.post.query.json +3 -0
  39. package/build/routes/edge/http/download.post.query.json +3 -0
  40. package/build/routes/edge/http/function.post.query.json +3 -0
  41. package/build/routes/edge/http/pdf.post.query.json +3 -0
  42. package/build/routes/edge/http/performance.post.query.json +3 -0
  43. package/build/routes/edge/http/scrape.post.query.json +3 -0
  44. package/build/routes/edge/http/screenshot.post.query.json +3 -0
  45. package/build/routes/edge/tests/content.spec.js +21 -0
  46. package/build/routes/edge/tests/json.spec.js +100 -0
  47. package/build/routes/edge/ws/browser.query.json +3 -0
  48. package/build/routes/edge/ws/cdp.query.json +3 -0
  49. package/build/routes/edge/ws/function-connect.d.ts +7 -0
  50. package/build/routes/edge/ws/function-connect.js +6 -0
  51. package/build/routes/edge/ws/function-connect.query.json +123 -0
  52. package/build/routes/edge/ws/page.query.json +3 -0
  53. package/build/routes/management/http/kill.get.query.json +3 -0
  54. package/build/routes/management/http/sessions.get.query.json +3 -0
  55. package/build/routes/management/tests/management.spec.js +44 -0
  56. package/build/sdk-utils.js +1 -1
  57. package/build/server.js +1 -1
  58. package/build/shared/function-connect.ws.d.ts +15 -0
  59. package/build/shared/function-connect.ws.js +13 -0
  60. package/build/shared/utils/function/handler.js +6 -4
  61. package/build/shim.js +11 -1
  62. package/build/shim.spec.js +14 -0
  63. package/build/types.d.ts +8 -0
  64. package/build/types.js +3 -0
  65. package/extensions/ublocklite/_locales/ar/messages.json +60 -24
  66. package/extensions/ublocklite/_locales/az/messages.json +36 -0
  67. package/extensions/ublocklite/_locales/be/messages.json +36 -0
  68. package/extensions/ublocklite/_locales/bg/messages.json +36 -0
  69. package/extensions/ublocklite/_locales/bn/messages.json +36 -0
  70. package/extensions/ublocklite/_locales/br_FR/messages.json +36 -0
  71. package/extensions/ublocklite/_locales/bs/messages.json +36 -0
  72. package/extensions/ublocklite/_locales/ca/messages.json +36 -0
  73. package/extensions/ublocklite/_locales/cs/messages.json +36 -0
  74. package/extensions/ublocklite/_locales/cv/messages.json +36 -0
  75. package/extensions/ublocklite/_locales/cy/messages.json +40 -4
  76. package/extensions/ublocklite/_locales/da/messages.json +39 -3
  77. package/extensions/ublocklite/_locales/de/messages.json +36 -0
  78. package/extensions/ublocklite/_locales/el/messages.json +36 -0
  79. package/extensions/ublocklite/_locales/en/messages.json +36 -0
  80. package/extensions/ublocklite/_locales/en_GB/messages.json +36 -0
  81. package/extensions/ublocklite/_locales/eo/messages.json +36 -0
  82. package/extensions/ublocklite/_locales/es/messages.json +36 -0
  83. package/extensions/ublocklite/_locales/et/messages.json +36 -0
  84. package/extensions/ublocklite/_locales/eu/messages.json +36 -0
  85. package/extensions/ublocklite/_locales/fa/messages.json +36 -0
  86. package/extensions/ublocklite/_locales/fi/messages.json +37 -1
  87. package/extensions/ublocklite/_locales/fil/messages.json +36 -0
  88. package/extensions/ublocklite/_locales/fr/messages.json +36 -0
  89. package/extensions/ublocklite/_locales/fy/messages.json +37 -1
  90. package/extensions/ublocklite/_locales/gl/messages.json +37 -1
  91. package/extensions/ublocklite/_locales/gu/messages.json +36 -0
  92. package/extensions/ublocklite/_locales/he/messages.json +36 -0
  93. package/extensions/ublocklite/_locales/hi/messages.json +36 -0
  94. package/extensions/ublocklite/_locales/hr/messages.json +36 -0
  95. package/extensions/ublocklite/_locales/hu/messages.json +36 -0
  96. package/extensions/ublocklite/_locales/hy/messages.json +36 -0
  97. package/extensions/ublocklite/_locales/id/messages.json +36 -0
  98. package/extensions/ublocklite/_locales/it/messages.json +36 -0
  99. package/extensions/ublocklite/_locales/ja/messages.json +36 -0
  100. package/extensions/ublocklite/_locales/ka/messages.json +36 -0
  101. package/extensions/ublocklite/_locales/kk/messages.json +36 -0
  102. package/extensions/ublocklite/_locales/kn/messages.json +36 -0
  103. package/extensions/ublocklite/_locales/ko/messages.json +36 -0
  104. package/extensions/ublocklite/_locales/lt/messages.json +36 -0
  105. package/extensions/ublocklite/_locales/lv/messages.json +36 -0
  106. package/extensions/ublocklite/_locales/mk/messages.json +36 -0
  107. package/extensions/ublocklite/_locales/ml/messages.json +36 -0
  108. package/extensions/ublocklite/_locales/mr/messages.json +36 -0
  109. package/extensions/ublocklite/_locales/ms/messages.json +36 -0
  110. package/extensions/ublocklite/_locales/nb/messages.json +53 -17
  111. package/extensions/ublocklite/_locales/nl/messages.json +36 -0
  112. package/extensions/ublocklite/_locales/oc/messages.json +36 -0
  113. package/extensions/ublocklite/_locales/pa/messages.json +36 -0
  114. package/extensions/ublocklite/_locales/pl/messages.json +36 -0
  115. package/extensions/ublocklite/_locales/pt_BR/messages.json +36 -0
  116. package/extensions/ublocklite/_locales/pt_PT/messages.json +36 -0
  117. package/extensions/ublocklite/_locales/ro/messages.json +36 -0
  118. package/extensions/ublocklite/_locales/ru/messages.json +36 -0
  119. package/extensions/ublocklite/_locales/si/messages.json +36 -0
  120. package/extensions/ublocklite/_locales/sk/messages.json +36 -0
  121. package/extensions/ublocklite/_locales/sl/messages.json +36 -0
  122. package/extensions/ublocklite/_locales/so/messages.json +36 -0
  123. package/extensions/ublocklite/_locales/sq/messages.json +36 -0
  124. package/extensions/ublocklite/_locales/sr/messages.json +36 -0
  125. package/extensions/ublocklite/_locales/sv/messages.json +36 -0
  126. package/extensions/ublocklite/_locales/sw/messages.json +36 -0
  127. package/extensions/ublocklite/_locales/ta/messages.json +36 -0
  128. package/extensions/ublocklite/_locales/te/messages.json +36 -0
  129. package/extensions/ublocklite/_locales/th/messages.json +36 -0
  130. package/extensions/ublocklite/_locales/tr/messages.json +36 -0
  131. package/extensions/ublocklite/_locales/uk/messages.json +36 -0
  132. package/extensions/ublocklite/_locales/ur/messages.json +36 -0
  133. package/extensions/ublocklite/_locales/vi/messages.json +36 -0
  134. package/extensions/ublocklite/_locales/zh_CN/messages.json +36 -0
  135. package/extensions/ublocklite/_locales/zh_TW/messages.json +36 -0
  136. package/extensions/ublocklite/css/dashboard-common.css +0 -1
  137. package/extensions/ublocklite/css/dashboard.css +8 -0
  138. package/extensions/ublocklite/css/settings.css +107 -1
  139. package/extensions/ublocklite/css/unpicker-ui.css +1 -0
  140. package/extensions/ublocklite/dashboard.html +48 -11
  141. package/extensions/ublocklite/js/background.js +57 -39
  142. package/extensions/ublocklite/js/backup-restore.js +153 -0
  143. package/extensions/ublocklite/js/config.js +2 -0
  144. package/extensions/ublocklite/js/dashboard.js +23 -5
  145. package/extensions/ublocklite/js/develop.js +2 -11
  146. package/extensions/ublocklite/js/dom.js +10 -0
  147. package/extensions/ublocklite/js/filter-lists.js +5 -5
  148. package/extensions/ublocklite/js/filter-manager-ui.js +486 -0
  149. package/extensions/ublocklite/js/filter-manager.js +85 -53
  150. package/extensions/ublocklite/js/jsonpath.js +25 -10
  151. package/extensions/ublocklite/js/mode-manager.js +8 -1
  152. package/extensions/ublocklite/js/picker-ui.js +2 -2
  153. package/extensions/ublocklite/js/popup.js +20 -20
  154. package/extensions/ublocklite/js/report.js +2 -4
  155. package/extensions/ublocklite/js/ro-dnr-editor.js +9 -5
  156. package/extensions/ublocklite/js/ruleset-manager.js +13 -8
  157. package/extensions/ublocklite/js/scripting/unpicker.js +3 -3
  158. package/extensions/ublocklite/js/settings.js +51 -0
  159. package/extensions/ublocklite/js/static-filtering-parser.js +4 -4
  160. package/extensions/ublocklite/js/troubleshooting.js +30 -18
  161. package/extensions/ublocklite/js/unpicker-ui.js +5 -5
  162. package/extensions/ublocklite/js/utils.js +14 -0
  163. package/extensions/ublocklite/manifest.json +3 -3
  164. package/extensions/ublocklite/rulesets/generic-details.json +2 -3
  165. package/extensions/ublocklite/rulesets/main/adguard-mobile.json +3 -2
  166. package/extensions/ublocklite/rulesets/main/adguard-spyware-url.json +6 -5
  167. package/extensions/ublocklite/rulesets/main/annoyances-cookies.json +16 -6
  168. package/extensions/ublocklite/rulesets/main/annoyances-notifications.json +3 -1
  169. package/extensions/ublocklite/rulesets/main/annoyances-others.json +4 -3
  170. package/extensions/ublocklite/rulesets/main/annoyances-overlays.json +4 -3
  171. package/extensions/ublocklite/rulesets/main/annoyances-widgets.json +5 -2
  172. package/extensions/ublocklite/rulesets/main/block-lan.json +3 -1
  173. package/extensions/ublocklite/rulesets/main/chn-0.json +28 -17
  174. package/extensions/ublocklite/rulesets/main/deu-0.json +2 -9
  175. package/extensions/ublocklite/rulesets/main/easylist.json +31 -73
  176. package/extensions/ublocklite/rulesets/main/easyprivacy.json +99 -27
  177. package/extensions/ublocklite/rulesets/main/fin-0.json +5 -2
  178. package/extensions/ublocklite/rulesets/main/fra-0.json +1 -1
  179. package/extensions/ublocklite/rulesets/main/hun-0.json +3 -2
  180. package/extensions/ublocklite/rulesets/main/idn-0.json +22 -8
  181. package/extensions/ublocklite/rulesets/main/ind-0.json +62 -43
  182. package/extensions/ublocklite/rulesets/main/irn-0.json +5 -4
  183. package/extensions/ublocklite/rulesets/main/isr-0.json +2 -3
  184. package/extensions/ublocklite/rulesets/main/ita-0.json +11 -2
  185. package/extensions/ublocklite/rulesets/main/jpn-1.json +54 -38
  186. package/extensions/ublocklite/rulesets/main/kor-1.json +6 -3
  187. package/extensions/ublocklite/rulesets/main/nld-0.json +4 -1
  188. package/extensions/ublocklite/rulesets/main/nor-0.json +2 -2
  189. package/extensions/ublocklite/rulesets/main/pgl.json +30 -6
  190. package/extensions/ublocklite/rulesets/main/pol-0.json +1 -1
  191. package/extensions/ublocklite/rulesets/main/rou-1.json +4 -2
  192. package/extensions/ublocklite/rulesets/main/rus-0.json +18 -11
  193. package/extensions/ublocklite/rulesets/main/rus-1.json +5 -4
  194. package/extensions/ublocklite/rulesets/main/spa-1.json +12 -6
  195. package/extensions/ublocklite/rulesets/main/stevenblack-hosts.json +10500 -90447
  196. package/extensions/ublocklite/rulesets/main/swe-1.json +39 -30
  197. package/extensions/ublocklite/rulesets/main/tur-0.json +12 -9
  198. package/extensions/ublocklite/rulesets/main/ublock-badware.json +39 -13
  199. package/extensions/ublocklite/rulesets/main/ublock-filters.json +77 -50
  200. package/extensions/ublocklite/rulesets/main/ubol-tests.json +28 -0
  201. package/extensions/ublocklite/rulesets/main/ukr-0.json +2 -2
  202. package/extensions/ublocklite/rulesets/main/urlhaus-full.json +2103 -582
  203. package/extensions/ublocklite/rulesets/main/vie-1.json +54 -52
  204. package/extensions/ublocklite/rulesets/regex/chn-0.json +2 -2
  205. package/extensions/ublocklite/rulesets/regex/easylist.json +1 -6
  206. package/extensions/ublocklite/rulesets/regex/jpn-1.json +1 -2
  207. package/extensions/ublocklite/rulesets/regex/swe-1.json +0 -1
  208. package/extensions/ublocklite/rulesets/regex/ublock-badware.json +8 -3
  209. package/extensions/ublocklite/rulesets/regex/ublock-filters.json +24 -16
  210. package/extensions/ublocklite/rulesets/ruleset-details.json +220 -220
  211. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-cookies.js +3 -3
  212. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-notifications.js +1 -1
  213. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-others.js +3 -3
  214. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-social.js +3 -3
  215. package/extensions/ublocklite/rulesets/scripting/generic/chn-0.js +2 -2
  216. package/extensions/ublocklite/rulesets/scripting/generic/easylist.js +3 -3
  217. package/extensions/ublocklite/rulesets/scripting/generic/ita-0.js +1 -1
  218. package/extensions/ublocklite/rulesets/scripting/generic/jpn-1.js +1 -1
  219. package/extensions/ublocklite/rulesets/scripting/generic/rus-1.js +2 -2
  220. package/extensions/ublocklite/rulesets/scripting/generic/swe-1.js +1 -1
  221. package/extensions/ublocklite/rulesets/scripting/generic/ublock-filters.js +3 -3
  222. package/extensions/ublocklite/rulesets/scripting/generichigh/easylist.css +2 -1
  223. package/extensions/ublocklite/rulesets/scripting/generichigh/idn-0.css +3 -0
  224. package/extensions/ublocklite/rulesets/scripting/generichigh/jpn-1.css +1 -0
  225. package/extensions/ublocklite/rulesets/scripting/generichigh/ublock-filters.css +9 -1
  226. package/extensions/ublocklite/rulesets/scripting/procedural/adguard-mobile.js +3 -3
  227. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-cookies.js +3 -3
  228. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-others.js +2 -2
  229. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-overlays.js +3 -3
  230. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-social.js +3 -3
  231. package/extensions/ublocklite/rulesets/scripting/procedural/chn-0.js +3 -3
  232. package/extensions/ublocklite/rulesets/scripting/procedural/deu-0.js +3 -3
  233. package/extensions/ublocklite/rulesets/scripting/procedural/easylist.js +3 -3
  234. package/extensions/ublocklite/rulesets/scripting/procedural/fin-0.js +3 -3
  235. package/extensions/ublocklite/rulesets/scripting/procedural/grc-0.js +3 -3
  236. package/extensions/ublocklite/rulesets/scripting/procedural/ind-0.js +3 -3
  237. package/extensions/ublocklite/rulesets/scripting/procedural/irn-0.js +3 -3
  238. package/extensions/ublocklite/rulesets/scripting/procedural/jpn-1.js +3 -3
  239. package/extensions/ublocklite/rulesets/scripting/procedural/kor-1.js +3 -3
  240. package/extensions/ublocklite/rulesets/scripting/procedural/ltu-0.js +1 -1
  241. package/extensions/ublocklite/rulesets/scripting/procedural/rou-1.js +3 -3
  242. package/extensions/ublocklite/rulesets/scripting/procedural/rus-0.js +3 -3
  243. package/extensions/ublocklite/rulesets/scripting/procedural/rus-1.js +1 -1
  244. package/extensions/ublocklite/rulesets/scripting/procedural/spa-1.js +3 -3
  245. package/extensions/ublocklite/rulesets/scripting/procedural/swe-1.js +3 -3
  246. package/extensions/ublocklite/rulesets/scripting/procedural/tur-0.js +3 -3
  247. package/extensions/ublocklite/rulesets/scripting/procedural/ublock-filters.js +3 -3
  248. package/extensions/ublocklite/rulesets/scripting/procedural/vie-1.js +3 -3
  249. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.abort-current-script.js +2 -2
  250. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.addEventListener-defuser.js +7 -3
  251. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.adjust-setTimeout.js +332 -0
  252. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.json-prune-fetch-response.js +588 -0
  253. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.json-prune-xhr-response.js +597 -0
  254. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.prevent-setTimeout.js +5 -1
  255. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.remove-cookie.js +376 -0
  256. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.set-constant.js +2 -2
  257. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.set-cookie-reload.js +1 -1
  258. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.xml-prune.js +443 -0
  259. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.addEventListener-defuser.js +5 -1
  260. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.prevent-requestAnimationFrame.js +6 -2
  261. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.prevent-setTimeout.js +5 -1
  262. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-cookie-reload.js +2 -2
  263. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-cookie.js +2 -2
  264. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-local-storage-item.js +2 -2
  265. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-click-element.js +88 -77
  266. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-set-cookie-reload.js +2 -2
  267. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-set-cookie.js +2 -2
  268. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-set-local-storage-item.js +2 -2
  269. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.addEventListener-defuser.js +5 -1
  270. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.addEventListener-defuser.js +5 -1
  271. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.json-prune.js +2 -2
  272. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.prevent-setInterval.js +5 -1
  273. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.prevent-setTimeout.js +5 -1
  274. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.set-local-storage-item.js +2 -2
  275. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.set-session-storage-item.js +2 -2
  276. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.abort-current-script.js +2 -2
  277. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.addEventListener-defuser.js +5 -1
  278. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.noeval-if.js +5 -1
  279. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-fetch.js +5 -1
  280. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-setInterval.js +5 -1
  281. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-setTimeout.js +7 -3
  282. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-window-open.js +5 -1
  283. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.remove-class.js +2 -2
  284. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.set-constant.js +1 -1
  285. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-click-element.js +88 -77
  286. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-replace-argument.js +5 -1
  287. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-replace-outbound-text.js +5 -1
  288. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-set-local-storage-item.js +2 -2
  289. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-suppress-native-method.js +5 -1
  290. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.addEventListener-defuser.js +6 -2
  291. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.evaldata-prune.js +5 -1
  292. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.noeval-if.js +5 -1
  293. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-fetch.js +6 -2
  294. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-setInterval.js +5 -1
  295. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-setTimeout.js +5 -1
  296. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-window-open.js +5 -1
  297. package/extensions/ublocklite/rulesets/scripting/scriptlet/cze-0.addEventListener-defuser.js +5 -1
  298. package/extensions/ublocklite/rulesets/scripting/scriptlet/cze-0.prevent-setInterval.js +5 -1
  299. package/extensions/ublocklite/rulesets/scripting/scriptlet/cze-0.prevent-setTimeout.js +5 -1
  300. package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.prevent-fetch.js +5 -1
  301. package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.set-constant.js +1 -1
  302. package/extensions/ublocklite/rulesets/scripting/scriptlet/est-0.addEventListener-defuser.js +5 -1
  303. package/extensions/ublocklite/rulesets/scripting/scriptlet/fin-0.prevent-setTimeout.js +5 -1
  304. package/extensions/ublocklite/rulesets/scripting/scriptlet/fin-0.remove-node-text.js +449 -0
  305. package/extensions/ublocklite/rulesets/scripting/scriptlet/fin-0.spoof-css.js +422 -0
  306. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.addEventListener-defuser.js +5 -1
  307. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-fetch.js +5 -1
  308. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-requestAnimationFrame.js +5 -1
  309. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-setInterval.js +5 -1
  310. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-setTimeout.js +5 -1
  311. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-window-open.js +5 -1
  312. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.addEventListener-defuser.js +5 -1
  313. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.prevent-setTimeout.js +5 -1
  314. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.prevent-window-open.js +5 -1
  315. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.addEventListener-defuser.js +5 -1
  316. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.noeval-if.js +5 -1
  317. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.prevent-fetch.js +5 -1
  318. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.prevent-setTimeout.js +5 -1
  319. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.prevent-window-open.js +7 -3
  320. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.addEventListener-defuser.js +5 -1
  321. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.href-sanitizer.js +2 -2
  322. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.prevent-fetch.js +5 -1
  323. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.prevent-setTimeout.js +5 -1
  324. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.prevent-window-open.js +5 -1
  325. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.addEventListener-defuser.js +5 -1
  326. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.prevent-fetch.js +5 -1
  327. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.prevent-setTimeout.js +5 -1
  328. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.prevent-window-open.js +5 -1
  329. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.abort-current-script.js +1 -1
  330. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.addEventListener-defuser.js +6 -2
  331. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.href-sanitizer.js +2 -2
  332. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.json-prune.js +2 -2
  333. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.noeval-if.js +5 -1
  334. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-fetch.js +7 -3
  335. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-setInterval.js +5 -1
  336. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-setTimeout.js +5 -1
  337. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-window-open.js +5 -1
  338. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.abort-current-script.js +2 -2
  339. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.addEventListener-defuser.js +5 -1
  340. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.json-prune-xhr-response.js +2 -2
  341. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-fetch.js +7 -3
  342. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-setInterval.js +5 -1
  343. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-setTimeout.js +5 -1
  344. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-window-open.js +475 -0
  345. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-xhr.js +2 -2
  346. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.remove-cookie.js +376 -0
  347. package/extensions/ublocklite/rulesets/scripting/scriptlet/ltu-0.prevent-setTimeout.js +5 -1
  348. package/extensions/ublocklite/rulesets/scripting/scriptlet/ltu-0.prevent-window-open.js +5 -1
  349. package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.addEventListener-defuser.js +5 -1
  350. package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.prevent-fetch.js +5 -1
  351. package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.prevent-setTimeout.js +5 -1
  352. package/extensions/ublocklite/rulesets/scripting/scriptlet/nor-0.addEventListener-defuser.js +5 -1
  353. package/extensions/ublocklite/rulesets/scripting/scriptlet/nor-0.prevent-fetch.js +5 -1
  354. package/extensions/ublocklite/rulesets/scripting/scriptlet/nor-0.prevent-setTimeout.js +5 -1
  355. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.addEventListener-defuser.js +5 -1
  356. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.noeval-if.js +5 -1
  357. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.prevent-setInterval.js +5 -1
  358. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.prevent-setTimeout.js +5 -1
  359. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.prevent-window-open.js +5 -1
  360. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.noeval-if.js +5 -1
  361. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.prevent-setInterval.js +5 -1
  362. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.prevent-setTimeout.js +5 -1
  363. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.prevent-window-open.js +5 -1
  364. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.abort-on-property-read.js +1 -1
  365. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.abort-on-property-write.js +1 -1
  366. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.abort-on-stack-trace.js +2 -2
  367. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.addEventListener-defuser.js +8 -4
  368. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.close-window.js +3 -3
  369. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.href-sanitizer.js +1 -1
  370. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.json-prune-fetch-response.js +2 -2
  371. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.noeval-if.js +5 -1
  372. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-fetch.js +5 -1
  373. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-setInterval.js +5 -1
  374. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-setTimeout.js +7 -3
  375. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-window-open.js +5 -1
  376. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.remove-node-text.js +3 -3
  377. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-attr.js +2 -2
  378. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-constant.js +3 -3
  379. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.addEventListener-defuser.js +5 -1
  380. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.json-prune-xhr-response.js +597 -0
  381. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.prevent-fetch.js +5 -1
  382. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.prevent-setTimeout.js +5 -1
  383. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.set-constant.js +1 -1
  384. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.abort-current-script.js +2 -2
  385. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.addEventListener-defuser.js +5 -1
  386. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.json-prune.js +2 -2
  387. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.noeval-if.js +7 -3
  388. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-fetch.js +7 -3
  389. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-requestAnimationFrame.js +5 -1
  390. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-setInterval.js +5 -1
  391. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-setTimeout.js +5 -1
  392. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-window-open.js +6 -2
  393. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.set-constant.js +2 -2
  394. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.addEventListener-defuser.js +5 -1
  395. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.href-sanitizer.js +1 -1
  396. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.noeval-if.js +5 -1
  397. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.prevent-setInterval.js +5 -1
  398. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.prevent-setTimeout.js +7 -3
  399. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.abort-on-property-read.js +1 -1
  400. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.addEventListener-defuser.js +7 -3
  401. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-fetch.js +5 -1
  402. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-setInterval.js +5 -1
  403. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-setTimeout.js +7 -3
  404. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-window-open.js +6 -2
  405. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.remove-attr.js +2 -2
  406. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.set-constant.js +2 -2
  407. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.set-local-storage-item.js +2 -2
  408. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-badware.addEventListener-defuser.js +5 -1
  409. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-badware.noeval-if.js +5 -1
  410. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-badware.trusted-replace-argument.js +5 -1
  411. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-experimental.trusted-json-edit-xhr-request.js +848 -0
  412. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-experimental.trusted-replace-node-text.js +1 -1
  413. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-current-script.js +3 -3
  414. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-property-read.js +3 -3
  415. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-property-write.js +2 -2
  416. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-stack-trace.js +3 -3
  417. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.addEventListener-defuser.js +7 -3
  418. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.adjust-setInterval.js +1 -1
  419. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.adjust-setTimeout.js +1 -1
  420. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.href-sanitizer.js +2 -2
  421. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit-fetch-response.js +29 -11
  422. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit-xhr-response.js +24 -10
  423. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit.js +31 -13
  424. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune-fetch-response.js +2 -2
  425. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune-xhr-response.js +1 -1
  426. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune.js +2 -2
  427. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.jsonl-edit-xhr-response.js +26 -12
  428. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.noeval-if.js +6 -2
  429. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-fetch.js +7 -3
  430. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-requestAnimationFrame.js +8 -4
  431. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-setInterval.js +8 -4
  432. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-setTimeout.js +8 -4
  433. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-window-open.js +7 -3
  434. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-xhr.js +1 -1
  435. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-cookie.js +2 -2
  436. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-node-text.js +3 -3
  437. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-attr.js +2 -2
  438. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-constant.js +3 -3
  439. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-cookie.js +2 -2
  440. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-local-storage-item.js +2 -2
  441. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-session-storage-item.js +1 -1
  442. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.spoof-css.js +2 -2
  443. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-click-element.js +86 -75
  444. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-create-html.js +2 -2
  445. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-json-edit-fetch-request.js +941 -0
  446. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-json-edit-fetch-response.js +31 -13
  447. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-json-edit.js +869 -0
  448. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-override-element-method.js +5 -1
  449. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-prevent-dom-bypass.js +5 -1
  450. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-prevent-fetch.js +7 -3
  451. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-argument.js +7 -3
  452. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-node-text.js +3 -3
  453. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-outbound-text.js +7 -3
  454. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-suppress-native-method.js +7 -3
  455. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.jsonl-edit-fetch-response.js +29 -11
  456. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.jsonl-edit-xhr-response.js +24 -10
  457. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.prevent-setTimeout.js +5 -1
  458. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.trusted-prevent-dom-bypass.js +5 -1
  459. package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.prevent-fetch.js +5 -1
  460. package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.prevent-window-open.js +5 -1
  461. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.abort-current-script.js +2 -2
  462. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.abort-on-property-read.js +2 -2
  463. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.addEventListener-defuser.js +5 -1
  464. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.prevent-fetch.js +5 -1
  465. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.prevent-setTimeout.js +5 -1
  466. package/extensions/ublocklite/rulesets/scripting/specific/adguard-mobile.js +3 -3
  467. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-cookies.js +3 -3
  468. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-notifications.js +3 -3
  469. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-others.js +3 -3
  470. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-overlays.js +3 -3
  471. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-social.js +3 -3
  472. package/extensions/ublocklite/rulesets/scripting/specific/chn-0.js +3 -3
  473. package/extensions/ublocklite/rulesets/scripting/specific/deu-0.js +3 -3
  474. package/extensions/ublocklite/rulesets/scripting/specific/easylist.js +3 -3
  475. package/extensions/ublocklite/rulesets/scripting/specific/fin-0.js +3 -3
  476. package/extensions/ublocklite/rulesets/scripting/specific/fra-0.js +3 -3
  477. package/extensions/ublocklite/rulesets/scripting/specific/grc-0.js +3 -3
  478. package/extensions/ublocklite/rulesets/scripting/specific/idn-0.js +3 -3
  479. package/extensions/ublocklite/rulesets/scripting/specific/ind-0.js +3 -3
  480. package/extensions/ublocklite/rulesets/scripting/specific/irn-0.js +3 -3
  481. package/extensions/ublocklite/rulesets/scripting/specific/isr-0.js +3 -3
  482. package/extensions/ublocklite/rulesets/scripting/specific/ita-0.js +3 -3
  483. package/extensions/ublocklite/rulesets/scripting/specific/jpn-1.js +3 -3
  484. package/extensions/ublocklite/rulesets/scripting/specific/kor-1.js +3 -3
  485. package/extensions/ublocklite/rulesets/scripting/specific/ltu-0.js +3 -3
  486. package/extensions/ublocklite/rulesets/scripting/specific/nld-0.js +3 -3
  487. package/extensions/ublocklite/rulesets/scripting/specific/rou-1.js +3 -3
  488. package/extensions/ublocklite/rulesets/scripting/specific/rus-0.js +3 -3
  489. package/extensions/ublocklite/rulesets/scripting/specific/rus-1.js +3 -3
  490. package/extensions/ublocklite/rulesets/scripting/specific/spa-1.js +3 -3
  491. package/extensions/ublocklite/rulesets/scripting/specific/swe-1.js +3 -3
  492. package/extensions/ublocklite/rulesets/scripting/specific/tur-0.js +3 -3
  493. package/extensions/ublocklite/rulesets/scripting/specific/ublock-badware.js +1 -1
  494. package/extensions/ublocklite/rulesets/scripting/specific/ublock-filters.js +3 -3
  495. package/extensions/ublocklite/rulesets/scripting/specific/ukr-0.js +3 -3
  496. package/extensions/ublocklite/rulesets/scripting/specific/vie-1.js +3 -3
  497. package/extensions/ublocklite/rulesets/scriptlet-details.json +302 -143
  498. package/extensions/ublocklite/rulesets/strictblock/adguard-mobile.json +6 -0
  499. package/extensions/ublocklite/rulesets/strictblock/annoyances-others.json +1 -0
  500. package/extensions/ublocklite/rulesets/strictblock/chn-0.json +289 -2
  501. package/extensions/ublocklite/rulesets/strictblock/easylist.json +1 -1
  502. package/extensions/ublocklite/rulesets/strictblock/easyprivacy.json +79 -3
  503. package/extensions/ublocklite/rulesets/strictblock/idn-0.json +2 -0
  504. package/extensions/ublocklite/rulesets/strictblock/irn-0.json +4 -1
  505. package/extensions/ublocklite/rulesets/strictblock/isr-0.json +1 -0
  506. package/extensions/ublocklite/rulesets/strictblock/ita-0.json +1 -0
  507. package/extensions/ublocklite/rulesets/strictblock/jpn-1.json +205 -186
  508. package/extensions/ublocklite/rulesets/strictblock/nor-0.json +1 -1
  509. package/extensions/ublocklite/rulesets/strictblock/pgl.json +30 -6
  510. package/extensions/ublocklite/rulesets/strictblock/pol-0.json +4 -0
  511. package/extensions/ublocklite/rulesets/strictblock/rou-1.json +1 -0
  512. package/extensions/ublocklite/rulesets/strictblock/stevenblack-hosts.json +10500 -90447
  513. package/extensions/ublocklite/rulesets/strictblock/swe-1.json +0 -3
  514. package/extensions/ublocklite/rulesets/strictblock/ublock-badware.json +657 -650
  515. package/extensions/ublocklite/rulesets/strictblock/ublock-filters.json +23 -19
  516. package/extensions/ublocklite/rulesets/strictblock/ukr-0.json +3 -0
  517. package/extensions/ublocklite/rulesets/strictblock/urlhaus-full.json +2103 -582
  518. package/extensions/ublocklite/rulesets/strictblock/vie-1.json +0 -3
  519. package/extensions/ublocklite/rulesets/urlskip/ublock-filters.json +31 -1
  520. package/extensions/ublocklite/ublock.zip +0 -0
  521. package/extensions/ublocklite/web_accessible_resources/google-ima.js +14 -7
  522. package/package.json +15 -14
  523. package/scripts/install-debugger.js +2 -2
  524. package/src/browsers/index.ts +25 -4
  525. package/src/http.ts +3 -2
  526. package/src/routes/chrome/tests/content.spec.ts +24 -0
  527. package/src/routes/chrome/tests/json.spec.ts +134 -0
  528. package/src/routes/chrome/tests/kill-sessions.spec.ts +0 -10
  529. package/src/routes/chrome/ws/function-connect.ts +12 -0
  530. package/src/routes/chromium/tests/content.spec.ts +24 -0
  531. package/src/routes/chromium/tests/function.spec.ts +33 -0
  532. package/src/routes/chromium/tests/json.spec.ts +134 -0
  533. package/src/routes/chromium/tests/scrape.spec.ts +3 -1
  534. package/src/routes/chromium/ws/function-connect.ts +1 -0
  535. package/src/routes/edge/tests/content.spec.ts +24 -0
  536. package/src/routes/edge/tests/json.spec.ts +134 -0
  537. package/src/routes/edge/ws/function-connect.ts +12 -0
  538. package/src/routes/management/tests/management.spec.ts +66 -0
  539. package/src/sdk-utils.ts +1 -1
  540. package/src/server.ts +1 -1
  541. package/src/shared/function-connect.ws.ts +38 -0
  542. package/src/shared/screenshot.http.ts +1 -1
  543. package/src/shared/utils/function/handler.ts +11 -6
  544. package/src/shim.spec.ts +18 -0
  545. package/src/shim.ts +15 -1
  546. package/src/types.ts +6 -0
  547. package/static/docs/swagger.json +107 -2
  548. package/static/docs/swagger.min.json +106 -1
  549. package/static/function/client.js +99 -111
  550. package/static/function/index.html +99 -111
  551. package/build/routes/chrome/tests/json-version.spec.js +0 -37
  552. package/build/routes/chromium/tests/json-version.spec.js +0 -37
  553. package/build/routes/edge/tests/json-version.spec.js +0 -37
  554. package/src/routes/chrome/tests/json-version.spec.ts +0 -52
  555. package/src/routes/chromium/tests/json-version.spec.ts +0 -52
  556. package/src/routes/edge/tests/json-version.spec.ts +0 -52
  557. /package/build/routes/chrome/tests/{json-version.spec.d.ts → json.spec.d.ts} +0 -0
  558. /package/build/routes/chromium/tests/{json-version.spec.d.ts → json.spec.d.ts} +0 -0
  559. /package/build/routes/edge/tests/{json-version.spec.d.ts → json.spec.d.ts} +0 -0
@@ -118,6 +118,10 @@ function proxyApplyFn(
118
118
  : new proxyApplyFn.ApplyContext(...args);
119
119
  }
120
120
  };
121
+ proxyApplyFn.isCtor = new Map();
122
+ }
123
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
124
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
121
125
  }
122
126
  const fnStr = fn.toString();
123
127
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -130,7 +134,7 @@ function proxyApplyFn(
130
134
  return Reflect.get(target, prop);
131
135
  },
132
136
  };
133
- if ( fn.prototype?.constructor === fn ) {
137
+ if ( proxyApplyFn.isCtor.get(target) ) {
134
138
  proxyDetails.construct = function(target, args) {
135
139
  return handler(proxyApplyFn.CtorContext.factory(target, args));
136
140
  };
@@ -118,6 +118,10 @@ function proxyApplyFn(
118
118
  : new proxyApplyFn.ApplyContext(...args);
119
119
  }
120
120
  };
121
+ proxyApplyFn.isCtor = new Map();
122
+ }
123
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
124
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
121
125
  }
122
126
  const fnStr = fn.toString();
123
127
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -130,7 +134,7 @@ function proxyApplyFn(
130
134
  return Reflect.get(target, prop);
131
135
  },
132
136
  };
133
- if ( fn.prototype?.constructor === fn ) {
137
+ if ( proxyApplyFn.isCtor.get(target) ) {
134
138
  proxyDetails.construct = function(target, args) {
135
139
  return handler(proxyApplyFn.CtorContext.factory(target, args));
136
140
  };
@@ -177,6 +177,10 @@ function proxyApplyFn(
177
177
  : new proxyApplyFn.ApplyContext(...args);
178
178
  }
179
179
  };
180
+ proxyApplyFn.isCtor = new Map();
181
+ }
182
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
183
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
180
184
  }
181
185
  const fnStr = fn.toString();
182
186
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -189,7 +193,7 @@ function proxyApplyFn(
189
193
  return Reflect.get(target, prop);
190
194
  },
191
195
  };
192
- if ( fn.prototype?.constructor === fn ) {
196
+ if ( proxyApplyFn.isCtor.get(target) ) {
193
197
  proxyDetails.construct = function(target, args) {
194
198
  return handler(proxyApplyFn.CtorContext.factory(target, args));
195
199
  };
@@ -289,7 +289,7 @@ function getRandomTokenFn() {
289
289
 
290
290
  const scriptletGlobals = {}; // eslint-disable-line
291
291
  const argsList = [["AdbBanner"],["CTRManager.host3"],["ClickUndercookie"],["Date.prototype.toUTCString"],["Groups.showDisclaimer"],["Light.Popup"],["Object.prototype.AdfoxXhrRequestPrepared"],["Object.prototype.Metrika"],["Object.prototype.YA_TURBO_PAGES"],["Object.prototype._getBanner"],["Object.prototype._isAutostartQueueSet"],["Object.prototype.bannerOptions"],["Object.prototype.direct"],["Object.prototype.fakeDetect"],["Object.prototype.getAdUsageStorage"],["Object.prototype.initOnPlay"],["Object.prototype.isApplySticky"],["Object.prototype.loadBanner"],["Object.prototype.render"],["Object.prototype.scriptsViaXhr"],["Object.prototype.yaContextCb"],["PUM.getPopup"],["Radish"],["RythmFeed"],["SIN.AdsLoader"],["TotemToolsObject"],["WebSocket"],["XMLHttpRequest"],["Ya"],["_0x1ece"],["__vasActiveTestIds"],["a_urls"],["aab"],["abl"],["adblock_availability_check"],["adcashMacros"],["addLink"],["adjustBackground"],["admiral"],["ads"],["ads_block_check"],["advFirstClickOpenNewTab"],["anOptions"],["antiadblockCallback"],["app_vars.force_disable_adblock"],["as_retry"],["atob"],["bannersBillboard"],["bdy"],["blocked_action"],["clickNS4"],["console.clear"],["disable_copy"],["disable_hot_keys"],["document.addEventListener"],["document.body.oncopy"],["document.getElementById","mdl_adb"],["document.oncontextmenu"],["document.oncopy"],["document.ondragend"],["document.ondragstart"],["document.ondrop"],["document.onkeydown"],["document.onpaste"],["document.onselectstart"],["eaglePlayerPlugins.autoplay_position"],["echelon"],["forTheFreeVideo.css"],["fpm_attr"],["getSelection"],["get_ya_browser"],["goTolink"],["helpUsImproveSite"],["initsnow"],["kav_cn"],["lftrght"],["localStorage"],["m205"],["mdpDeBlocker"],["move_string"],["myatu_bgm"],["nocontext"],["noselect"],["onload"],["open"],["preventSelection"],["scrollw"],["setsnow"],["sparkle"],["stopPrntScr"],["t364_initPopup"],["target_script"],["td_ad_background_click_target"],["tingle"],["tnAdditionalParams"],["unSelect"],["updateDownloadLinks"],["utarget_script"],["video.preroll"],["vpb"],["weekCallbacks"],["window.alert"],["window.block"],["wpsite_clickable_data"],["yaContextCb"],["zfgformats"],["ABNS"],["bc_blocks"],["globalAuthLoginPopupCounter"],["u_global_data"]];
292
- const hostnamesMap = new Map([["htmlweb.ru",0],["fapreactor.com",1],["pornreactor.cc",1],["reactor.cc",1],["anifap.com",2],["anifap.xyz",2],["anipoisk.org",2],["anitokyo.tv",2],["hcdn.online",2],["kinofilm.co",2],["comedy-radio.ru",[3,30]],["radioromantika.ru",[3,30]],["relax-fm.ru",[3,30]],["rg.ru",[3,104]],["sm.news",[3,28,32,85]],["ura.news",[3,104]],["veseloeradio.ru",[3,30]],["www.e1.ru",3],["vk.com",4],["vk.ru",4],["rutor.org",5],["drive2.ru",[6,20]],["liveinternet.ru",[7,8]],["yap.ru",7],["yaplakal.com",7],["lena-miro.ru",9],["levik.blog",9],["livejournal.com",9],["olegmakarenko.ru",9],["periskop.su",9],["shakko.ru",9],["shiro-kino.ru",9],["vadimrazumov.ru",9],["rbc.ru",[10,16]],["www.kinopoisk.ru",11],["gorodrabot.by",12],["gorodrabot.ru",12],["fishki.net",13],["reshu.by",14],["reshuent.kz",14],["sdamgia.ru",14],["gdespaces.com",15],["gdespaces.net",15],["google-cloud.services",15],["spac.me",15],["spac.run",15],["spac.wtf",15],["spac1.com",15],["spac1.net",15],["spac1.org",15],["spaces-blogs.com",15],["spaces.im",15],["spcs-files.xyz",15],["spcs.bio",15],["spcs.me",15],["spcs.network",15],["spcs.pro",15],["spcs.reviews",15],["spcs.social",15],["strip2.club",15],["strip2.in",15],["strip2.xxx",15],["usersporn.com",15],["e1.ru",17],["nova.rambler.ru",17],["pikabu.ru",[17,28]],["24smi.org",18],["gismeteo.by",19],["gismeteo.kz",19],["gismeteo.ru",19],["razlozhi.ru",20],["f1comp.ru",21],["tagaev.com",21],["times.zt.ua",21],["gencit.info",22],["ya.ru",23],["sinoptik.ua",[24,99]],["porngames.su",25],["rintor.info",25],["rintor.net",25],["castle-tv.com",26],["100popugaev.ru",27],["coderlessons.com",27],["fixx.one",27],["its-kids.ru",27],["molitvy.guru",27],["nizhny.ru",27],["pro100hobbi.ru",27],["publy.ru",27],["samelectric.ru",27],["svadba.expert",27],["tehnobzor.ru",[27,78]],["vibir.ru",27],["3dnews.ru",28],["avtovzglyad.ru",28],["baby.ru",28],["cont.ws",28],["dni.ru",28],["pogoda.onliner.by",28],["russian7.ru",28],["selflib.me",28],["sports.ru",[28,43]],["tech.onliner.by",28],["www.goha.ru",28],["nnm-club.me",29],["nnmclub.ro",29],["nnmclub.to",29],["forum.overclockers.ua",31],["kufar.by",32],["bstudy.net",33],["ozlib.com",33],["studbooks.net",33],["studme.org",33],["studref.com",33],["studwood.net",33],["vuzlit.com",33],["xstud.org",33],["vgtimes.ru",34],["upload.ee",35],["versia.ru",36],["bb.lv",37],["footboom.com",[38,66]],["footboom.kz",[38,66]],["electric-house.ru",39],["fearmp4.ru",40],["freehat.cc",[41,84]],["amazinghis.ru",42],["moj-pes.ru",42],["shrlink.top",44],["eurointegration.com.ua",45],["pravda.com.ua",45],["sportanalytic.com",45],["friends.in.ua",[46,54]],["gidonline.eu",[46,91]],["vprognoze.ru",47],["terrikon.com",48],["medicina.ua",49],["zaruba.fun",50],["fm-app.ru",51],["ritsatv.ru",51],["tvapp.su",51],["yootv.ru",51],["kolizhanka.com.ua",[52,53,81]],["gra-prestoliv.in.ua",54],["simpsonsua.tv",54],["pravvest.ru",55],["dclans.ru",56],["animevost.org",57],["animevost.top",57],["doefiratv.info",57],["payeer-gift.ru",57],["smotret-anime-365.ru",57],["turkish-tv-series.ru",[57,62,69]],["ufchgu.ru",57],["vost.pw",57],["xn--b1aew.xn--p1ai",[57,58,59,60,61,63,64]],["my-expert.ru",60],["gazeta.ru",[65,71]],["kinozapas.co",67],["livesx.online",67],["xn--80aikhbrhr.xn--j1amh",67],["7ogorod.ru",68],["autonevod.ru",68],["shtrafsud.ru",68],["tophallclub.ru",68],["zazloo.ru",68],["buhplatforma.com.ua",69],["championat.com",69],["doramy.club",69],["dzplatforma.com.ua",69],["medplatforma.com.ua",69],["oblikbudget.com.ua",69],["oplatforma.com.ua",69],["pro-op.com.ua",69],["prokadry.com.ua",69],["musify.club",70],["dota2.ru",72],["elitesnooker.com",73],["astrakhan.ru",74],["myjane.ru",74],["omskpress.ru",74],["tambovnet.org",74],["daz3d.ru",75],["dorama.land",76],["doramaland.plus",76],["players.com.ua",76],["studizba.com",77],["asteriatm.ru",78],["sudya-dredd.ru",[78,89]],["anime-chan.me",[79,88]],["city.ogo.ua",80],["stoigr.org",82],["it-actual.ru",83],["hlamer.ru",84],["lostpix.com",84],["potokcdn.com",84],["prostoporno.help",84],["saltday.ru",84],["uploadimagex.com",84],["wowskill.ru",84],["xittv.net",84],["zab.ru",86],["tapochek.net",[87,106]],["bryansknovosti.ru",89],["novozybkov.su",89],["moremania.info",90],["kinogo.eu",91],["1informer.com",92],["fainaidea.com",92],["itech.co.ua",92],["mediasat.info",92],["moika78.ru",92],["root-nation.com",92],["fssp.gov.ru",93],["liveforums.ru",94],["onlineclass.space",95],["nsportal.ru",96],["animekun.ru",97],["doramakun.ru",97],["vestivrn.ru",98],["www.ukr.net",99],["4studio.com.ua",100],["cikavosti.com",100],["dialogs.org.ua",100],["fakty.ua",100],["gorodkiev.com.ua",100],["informator.ua",100],["kriminal.tv",100],["pingvin.pro",100],["technoportal.com.ua",100],["u-news.com.ua",100],["uanews.org.ua",100],["volynpost.com",100],["bombardir.ru",101],["comp-service.kiev.ua",101],["inforesist.org",101],["www.xcom-shop.ru",101],["softportal.com",102],["growhow.in.ua",103],["80-e.ru",104],["doramatv.live",104],["examenpdd.com",104],["shadowcore.ru",104],["animedia.tv",105],["animedub.ru",105],["vsetut.su",105],["liveball.*",106],["porno365.*",107],["ok.ru",108],["3dn.ru",109],["a-point.info",109],["addfiles.ru",109],["akkordam.ru",109],["all-for-kompa.ru",109],["asia-tv.su",109],["at.ua",109],["autosimgames.ru",109],["clan.su",109],["db-energo.ru",109],["devdrivers.ru",109],["do.am",109],["elegos.ru",109],["elektronika56.ru",109],["elektrosat.ru",109],["fon-ki.com",109],["for-gsm.ru",109],["free-dream.ru",109],["ftechedu.ru",109],["fukushima-news.ru",109],["gals.md",109],["gloria-cedric.ru",109],["goldformat.ru",109],["greenflash.su",109],["igrul-ka.ru",109],["krasnickij.ru",109],["krolmen.ru",109],["megaclips.net",109],["mow-portal.ru",109],["moy.su",109],["my1.ru",109],["narod.ru",109],["newgames.com.ua",109],["novospasskoe-city.ru",109],["omsimclub.ru",109],["online-supernatural.ru",109],["only-paper.ru",109],["others.name",109],["pidru4nik.com",109],["pkrc.ru",109],["play-force.ru",109],["pohoronnoe-byuro.com",109],["pokatushki-pmr.ru",109],["pro-zakupki.ru",109],["project-ss.ru",109],["psxworld.ru",109],["radiodom.org",109],["rocketdockfree.ru",109],["sdr-deluxe.com",109],["soft-game.net",109],["stalker-gsc.ru",109],["stalker-zone.info",109],["stalkermods.ru",109],["svadbatomsk.ru",109],["techmusic.ru",109],["tes-game.ru",109],["torfiles.ru",109],["ucoz.club",109],["ucoz.com",109],["ucoz.net",109],["ucoz.org",109],["ucoz.ru",109],["ucoz.ua",109],["usite.pro",109],["vodopads.ru",109],["vsthouse.ru",109],["xakevsoft.ru",109],["xn--80aeshkkbdj.xn--p1ai",109],["yaminecraft.ru",109],["zona-stalkera.ru",109]]);
292
+ const hostnamesMap = new Map([["htmlweb.ru",0],["fapreactor.com",1],["pornreactor.cc",1],["reactor.cc",1],["anifap.com",2],["anifap.xyz",2],["anipoisk.org",2],["anitokyo.tv",2],["hcdn.online",2],["kinofilm.co",2],["comedy-radio.ru",[3,30]],["radioromantika.ru",[3,30]],["relax-fm.ru",[3,30]],["rg.ru",[3,104]],["sm.news",[3,28,32,85]],["ura.news",[3,104]],["veseloeradio.ru",[3,30]],["www.e1.ru",3],["vk.com",4],["vk.ru",4],["rutor.org",5],["drive2.ru",[6,20]],["liveinternet.ru",[7,8]],["yap.ru",7],["yaplakal.com",7],["lena-miro.ru",9],["levik.blog",9],["livejournal.com",9],["olegmakarenko.ru",9],["periskop.su",9],["shakko.ru",9],["shiro-kino.ru",9],["vadimrazumov.ru",9],["rbc.ru",[10,16]],["www.kinopoisk.ru",11],["gorodrabot.by",12],["gorodrabot.ru",12],["fishki.net",13],["auto.ru",14],["reshu.by",14],["reshuent.kz",14],["sdamgia.ru",14],["gdespaces.com",15],["gdespaces.net",15],["google-cloud.services",15],["spac.me",15],["spac.run",15],["spac.wtf",15],["spac1.com",15],["spac1.net",15],["spac1.org",15],["spaces-blogs.com",15],["spaces.im",15],["spcs-files.xyz",15],["spcs.bio",15],["spcs.me",15],["spcs.network",15],["spcs.pro",15],["spcs.reviews",15],["spcs.social",15],["strip2.club",15],["strip2.in",15],["strip2.xxx",15],["usersporn.com",15],["e1.ru",17],["nova.rambler.ru",17],["pikabu.ru",[17,28]],["24smi.org",18],["gismeteo.by",19],["gismeteo.kz",19],["gismeteo.ru",19],["razlozhi.ru",20],["f1comp.ru",21],["tagaev.com",21],["times.zt.ua",21],["gencit.info",22],["ya.ru",23],["sinoptik.ua",[24,99]],["porngames.su",25],["rintor.info",25],["rintor.net",25],["castle-tv.com",26],["100popugaev.ru",27],["coderlessons.com",27],["fixx.one",27],["its-kids.ru",27],["molitvy.guru",27],["nizhny.ru",27],["pro100hobbi.ru",27],["publy.ru",27],["samelectric.ru",27],["svadba.expert",27],["tehnobzor.ru",[27,78]],["vibir.ru",27],["3dnews.ru",28],["avtovzglyad.ru",28],["baby.ru",28],["cont.ws",28],["dni.ru",28],["pogoda.onliner.by",28],["russian7.ru",28],["selflib.me",28],["sports.ru",[28,43]],["tech.onliner.by",28],["www.goha.ru",28],["nnm-club.me",29],["nnmclub.ro",29],["nnmclub.to",29],["forum.overclockers.ua",31],["kufar.by",32],["bstudy.net",33],["ozlib.com",33],["studbooks.net",33],["studme.org",33],["studref.com",33],["studwood.net",33],["vuzlit.com",33],["xstud.org",33],["vgtimes.ru",34],["upload.ee",35],["versia.ru",36],["bb.lv",37],["footboom.com",[38,66]],["footboom.kz",[38,66]],["electric-house.ru",39],["fearmp4.ru",40],["freehat.cc",[41,84]],["amazinghis.ru",42],["moj-pes.ru",42],["shrlink.top",44],["eurointegration.com.ua",45],["pravda.com.ua",45],["sportanalytic.com",45],["friends.in.ua",[46,54]],["gidonline.eu",[46,91]],["vprognoze.ru",47],["terrikon.com",48],["medicina.ua",49],["zaruba.fun",50],["fm-app.ru",51],["ritsatv.ru",51],["tvapp.su",51],["yootv.ru",51],["kolizhanka.com.ua",[52,53,81]],["gra-prestoliv.in.ua",54],["simpsonsua.tv",54],["pravvest.ru",55],["dclans.ru",56],["animevost.org",57],["animevost.top",57],["doefiratv.info",57],["payeer-gift.ru",57],["smotret-anime-365.ru",57],["turkish-tv-series.ru",[57,62,69]],["ufchgu.ru",57],["vost.pw",57],["xn--b1aew.xn--p1ai",[57,58,59,60,61,63,64]],["my-expert.ru",60],["gazeta.ru",[65,71]],["kinozapas.co",67],["livesx.online",67],["xn--80aikhbrhr.xn--j1amh",67],["7ogorod.ru",68],["autonevod.ru",68],["shtrafsud.ru",68],["tophallclub.ru",68],["zazloo.ru",68],["buhplatforma.com.ua",69],["championat.com",69],["doramy.club",69],["dzplatforma.com.ua",69],["medplatforma.com.ua",69],["oblikbudget.com.ua",69],["oplatforma.com.ua",69],["pro-op.com.ua",69],["prokadry.com.ua",69],["musify.club",70],["dota2.ru",72],["elitesnooker.com",73],["astrakhan.ru",74],["myjane.ru",74],["omskpress.ru",74],["tambovnet.org",74],["daz3d.ru",75],["dorama.land",76],["doramaland.plus",76],["players.com.ua",76],["studizba.com",77],["asteriatm.ru",78],["sudya-dredd.ru",[78,89]],["anime-chan.me",[79,88]],["city.ogo.ua",80],["stoigr.org",82],["it-actual.ru",83],["hlamer.ru",84],["lostpix.com",84],["potokcdn.com",84],["prostoporno.help",84],["saltday.ru",84],["uploadimagex.com",84],["wowskill.ru",84],["xittv.net",84],["zab.ru",86],["tapochek.net",[87,106]],["bryansknovosti.ru",89],["novozybkov.su",89],["moremania.info",90],["kinogo.eu",91],["1informer.com",92],["fainaidea.com",92],["itech.co.ua",92],["mediasat.info",92],["moika78.ru",92],["root-nation.com",92],["fssp.gov.ru",93],["liveforums.ru",94],["onlineclass.space",95],["nsportal.ru",96],["animekun.ru",97],["doramakun.ru",97],["vestivrn.ru",98],["www.ukr.net",99],["4studio.com.ua",100],["cikavosti.com",100],["dialogs.org.ua",100],["fakty.ua",100],["gorodkiev.com.ua",100],["informator.ua",100],["kriminal.tv",100],["pingvin.pro",100],["technoportal.com.ua",100],["u-news.com.ua",100],["uanews.org.ua",100],["volynpost.com",100],["bombardir.ru",101],["comp-service.kiev.ua",101],["inforesist.org",101],["www.xcom-shop.ru",101],["softportal.com",102],["growhow.in.ua",103],["80-e.ru",104],["doramatv.live",104],["examenpdd.com",104],["forum.ixbt.com",104],["shadowcore.ru",104],["animedia.tv",105],["animedub.ru",105],["vsetut.su",105],["liveball.*",106],["porno365.*",107],["ok.ru",108],["3dn.ru",109],["a-point.info",109],["addfiles.ru",109],["akkordam.ru",109],["all-for-kompa.ru",109],["asia-tv.su",109],["at.ua",109],["autosimgames.ru",109],["clan.su",109],["db-energo.ru",109],["devdrivers.ru",109],["do.am",109],["elegos.ru",109],["elektronika56.ru",109],["elektrosat.ru",109],["fon-ki.com",109],["for-gsm.ru",109],["free-dream.ru",109],["ftechedu.ru",109],["fukushima-news.ru",109],["gals.md",109],["gloria-cedric.ru",109],["goldformat.ru",109],["greenflash.su",109],["igrul-ka.ru",109],["krasnickij.ru",109],["krolmen.ru",109],["megaclips.net",109],["mow-portal.ru",109],["moy.su",109],["my1.ru",109],["narod.ru",109],["newgames.com.ua",109],["novospasskoe-city.ru",109],["omsimclub.ru",109],["online-supernatural.ru",109],["only-paper.ru",109],["others.name",109],["pidru4nik.com",109],["pkrc.ru",109],["play-force.ru",109],["pohoronnoe-byuro.com",109],["pokatushki-pmr.ru",109],["pro-zakupki.ru",109],["project-ss.ru",109],["psxworld.ru",109],["radiodom.org",109],["rocketdockfree.ru",109],["sdr-deluxe.com",109],["soft-game.net",109],["stalker-gsc.ru",109],["stalker-zone.info",109],["stalkermods.ru",109],["svadbatomsk.ru",109],["techmusic.ru",109],["tes-game.ru",109],["torfiles.ru",109],["ucoz.club",109],["ucoz.com",109],["ucoz.net",109],["ucoz.org",109],["ucoz.ru",109],["ucoz.ua",109],["usite.pro",109],["vodopads.ru",109],["vsthouse.ru",109],["xakevsoft.ru",109],["xn--80aeshkkbdj.xn--p1ai",109],["yaminecraft.ru",109],["zona-stalkera.ru",109]]);
293
293
  const exceptionsMap = new Map([]);
294
294
  const hasEntities = true;
295
295
  const hasAncestors = false;
@@ -267,7 +267,7 @@ function getRandomTokenFn() {
267
267
 
268
268
  const scriptletGlobals = {}; // eslint-disable-line
269
269
  const argsList = [["NiceScroll"],["adsBlocked"],["ai_front"],["disableSelection"],["disable_keystrokes"],["document.oncontextmenu"],["document.ondragstart"],["document.onselectstart"],["fetch"],["keepAdblock"],["showHelpProjectModal"],["window.yaProxy"],["mailruEnabled"]];
270
- const hostnamesMap = new Map([["transkarpatia.net",0],["24pdd.ru",1],["doctorrouter.ru",2],["ranobe-novels.ru",2],["tests24.su",2],["ufchgu.ru",[3,4]],["fssp.gov.ru",[5,6,7]],["southpark.su",[5,6,7]],["turkcinema.org",[5,6,7]],["phys-kids.com",8],["gamemag.ru",9],["searchfloor.org",10],["kakprosto.ru",11],["ok.ru",12]]);
270
+ const hostnamesMap = new Map([["transkarpatia.net",0],["24pdd.ru",1],["doctorrouter.ru",2],["ranobe-novels.ru",2],["tests24.su",2],["newxboxone.ru",3],["ufchgu.ru",[3,4]],["fssp.gov.ru",[5,6,7]],["southpark.su",[5,6,7]],["turkcinema.org",[5,6,7]],["phys-kids.com",8],["gamemag.ru",9],["searchfloor.org",10],["kakprosto.ru",11],["ok.ru",12]]);
271
271
  const exceptionsMap = new Map([]);
272
272
  const hasEntities = false;
273
273
  const hasAncestors = false;
@@ -340,8 +340,8 @@ function getRandomTokenFn() {
340
340
  /******************************************************************************/
341
341
 
342
342
  const scriptletGlobals = {}; // eslint-disable-line
343
- const argsList = [["Object.prototype.autoplay","assets"],["Object.prototype.dispatcher","/feed|set/"],["Object.prototype.loadAdvertScriptMode","/yastatic\\.net/"],["document.createElement","checkAboba"],["document.getElementById","/723-|ai-2-/"],["fetch","eval"],["Object.prototype.parallax","window.onload"],["Object.prototype.crossDomain","ecbrStart"]];
344
- const hostnamesMap = new Map([["tvzvezda.ru",0],["vk.com",1],["vk.ru",1],["ya.ru",2],["shadowcore.ru",3],["ai-next.ru",4],["forums.rusmedserv.com",5],["porno365.*",6],["www.ukr.net",7]]);
343
+ const argsList = [["Object.prototype.autoplay","assets"],["Object.prototype.loadAdvertScriptMode","/yastatic\\.net/"],["document.createElement","checkAboba"],["document.getElementById","/723-|ai-2-/"],["fetch","eval"],["Object.prototype.parallax","window.onload"],["HTMLVideoElement.prototype.play","onCanPlay"],["Object.prototype.crossDomain","ecbrStart"]];
344
+ const hostnamesMap = new Map([["tvzvezda.ru",0],["ya.ru",1],["shadowcore.ru",2],["ai-next.ru",3],["forums.rusmedserv.com",4],["porno365.*",5],["tass.ru",6],["www.ukr.net",7]]);
345
345
  const exceptionsMap = new Map([]);
346
346
  const hasEntities = true;
347
347
  const hasAncestors = false;
@@ -170,6 +170,10 @@ function proxyApplyFn(
170
170
  : new proxyApplyFn.ApplyContext(...args);
171
171
  }
172
172
  };
173
+ proxyApplyFn.isCtor = new Map();
174
+ }
175
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
176
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
173
177
  }
174
178
  const fnStr = fn.toString();
175
179
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -182,7 +186,7 @@ function proxyApplyFn(
182
186
  return Reflect.get(target, prop);
183
187
  },
184
188
  };
185
- if ( fn.prototype?.constructor === fn ) {
189
+ if ( proxyApplyFn.isCtor.get(target) ) {
186
190
  proxyDetails.construct = function(target, args) {
187
191
  return handler(proxyApplyFn.CtorContext.factory(target, args));
188
192
  };
@@ -417,9 +421,9 @@ function shouldDebug(details) {
417
421
  /******************************************************************************/
418
422
 
419
423
  const scriptletGlobals = {}; // eslint-disable-line
420
- const argsList = [["/^(?:contextmenu|keydown)$/"],["/beforeunload|pagehide/","0x"],["/click|load/","popMagic"],["/click|mousedown/","popunder"],["/mouse/","cursorVisible"],["DOMContentLoaded","fullscreen-ad"],["DOMContentLoaded",".j-mini-player__video"],["DOMContentLoaded","/EventTracker|utm_campaign/"],["DOMContentLoaded","0x"],["DOMContentLoaded","StrategyHandler"],["DOMContentLoaded","_Modal"],["DOMContentLoaded","encodedUrl"],["DOMContentLoaded","exo_tracker"],["DOMContentLoaded","feedback"],["click","","elements","a[href*=\"?from=\"]"],["click","","elements","a[href*=\"utm_campaign\"]"],["click","","elements","[class^=\"plotsLine_\"] > div"],["click","[native code]"],["click","current","elements","[data-testid=\"embed-wrapper\"]"],["click","matches"],["click","pop"],["copy","extra"],["copy","getSelection"],["copy","pagelink"],["download","isMonetized"],["error","","elements","[data-status=\"loading\"]"],["error","removeChild"],["getexoloader"],["load","AdBlock"],["load","detect-modal"],["load","mamydirect"],["loadstart","isImmediatePropagationStopped"],["mousedown","pop.doEvent"],["scroll","getBoundingClientRect"],["scroll","players"],["scroll","window.history.pushState"],["visibilitychange","document.hidden"],["/contextmenu|copy|keydown|selectstart/"],["DOMContentLoaded","click_time"],["/click|destroy|mousedown/","","elements",".html-fishing"],["visibilitychange","captureContext"]];
421
- const hostnamesMap = new Map([["7days.ru",[0,40]],["drive2.ru",1],["shedevrum.ai",1],["fastpic.org",[2,27]],["biqle.org",3],["biqle.ru",3],["fm-app.ru",4],["tvapp.su",4],["yootv.ru",4],["cq.ru",5],["rambler.ru",[6,21]],["sibnet.ru",7],["sports.ru",8],["buhplatforma.com.ua",9],["dzplatforma.com.ua",9],["medplatforma.com.ua",9],["oblikbudget.com.ua",9],["oplatforma.com.ua",9],["pro-op.com.ua",9],["prokadry.com.ua",9],["doramaland.plus",10],["1progs.me",11],["xv-ru.com",12],["litnet.com",13],["vedomosti.ru",14],["regnum.news",15],["regnum.ru",15],["tproger.ru",15],["116.ru",16],["14.ru",16],["161.ru",16],["164.ru",16],["173.ru",16],["178.ru",16],["26.ru",16],["29.ru",16],["35.ru",16],["43.ru",16],["45.ru",16],["48.ru",16],["51.ru",16],["53.ru",16],["56.ru",16],["59.ru",16],["60.ru",16],["63.ru",16],["68.ru",16],["71.ru",16],["72.ru",16],["74.ru",16],["76.ru",16],["86.ru",16],["89.ru",16],["93.ru",16],["chita.ru",16],["e1.ru",16],["ircity.ru",16],["izh1.ru",16],["mgorsk.ru",16],["msk1.ru",16],["ngs.ru",16],["ngs22.ru",16],["ngs24.ru",16],["ngs42.ru",16],["ngs55.ru",16],["ngs70.ru",16],["nn.ru",16],["sochi1.ru",16],["sterlitamak1.ru",16],["tolyatty.ru",16],["ufa1.ru",16],["v1.ru",16],["vladivostok1.ru",16],["voronezh1.ru",16],["www.fontanka.ru",[16,40]],["ya62.ru",16],["softonic.ru",17],["rutube.ru",[18,36]],["smotrim.ru",19],["lrepacks.net",20],["kp.kg",[22,40]],["kp.kz",[22,40]],["kp.md",[22,40]],["kp.ru",[22,40]],["rbc.ru",22],["sportrbc.ru",22],["carservic.ru",23],["iptv.org.ua",23],["tva.org.ua",23],["ufchgu.ru",23],["megaprogz.ru",24],["programhub.ru",24],["trychatgpt.ru",25],["dtf.ru",26],["romakatya.ru",28],["blackwot.ru",29],["overclockers.ru",30],["bonus-tv.ru",31],["kinoblin.ru",32],["pornoakt.info",32],["serialai.ru",32],["m.lenta.ru",33],["www.vesti.ru",34],["lenta.ru",35],["autonews.co.ua",37],["in-poland.com",37],["liveball.*",37],["ukrainianwall.com",37],["fap-guru.*",38],["seks-studentki.*",38],["sex-studentki.*",38],["e.mail.ru",39],["octavius.mail.ru",39],["cdn.viqeo.tv",40],["kinonews.ru",40],["mk.ru",40],["ohotniki.ru",40],["portalvirtualreality.ru",40],["radiokp.ru",40],["sportkp.ru",40],["the-day.ru",40],["woman.ru",40]]);
422
- const exceptionsMap = new Map([["new.fastpic.org",[2,27]],["id.rambler.ru",[6,21]],["vp.rambler.ru",[6,21]],["player.smotrim.ru",[19]],["mail.rambler.ru",[21]]]);
424
+ const argsList = [["/^(?:contextmenu|keydown)$/"],["/beforeunload|pagehide/","0x"],["/click|load/","popMagic"],["/click|mousedown/","popunder"],["/click|mousedown/","setClickedUrl"],["/mouse/","cursorVisible"],["DOMContentLoaded","fullscreen-ad"],["DOMContentLoaded",".j-mini-player__video"],["DOMContentLoaded","/EventTracker|utm_campaign/"],["DOMContentLoaded","0x"],["DOMContentLoaded","StrategyHandler"],["DOMContentLoaded","_Modal"],["DOMContentLoaded","encodedUrl"],["DOMContentLoaded","exo_tracker"],["DOMContentLoaded","feedback"],["click","","elements","a[href*=\"?from=\"]"],["click","","elements","a[href*=\"utm_campaign\"]"],["click","","elements","a[href*=\"utm_campaign=\"]"],["click","","elements","[class^=\"plotsLine_\"] > div"],["click","[native code]"],["click","current","elements","[data-testid=\"embed-wrapper\"]"],["click","matches"],["click","pop"],["copy","extra"],["copy","getSelection"],["copy","pagelink"],["download","isMonetized"],["error","","elements","[data-status=\"loading\"]"],["getexoloader"],["load","AdBlock"],["load","detect-modal"],["load","mamydirect"],["loadstart","isImmediatePropagationStopped"],["message","__messagesAtom"],["mousedown","pop.doEvent"],["scroll","getBoundingClientRect"],["scroll","players"],["scroll","window.history.pushState"],["visibilitychange","document.hidden"],["/contextmenu|copy|keydown|selectstart/"],["DOMContentLoaded","click_time"],["/click|destroy|mousedown/","","elements",".html-fishing"],["pause","","elements","video[class*=\"HLSPlayback_player\"]"],["visibilitychange","captureContext"]];
425
+ const hostnamesMap = new Map([["7days.ru",[0,43]],["drive2.ru",1],["shedevrum.ai",1],["fastpic.org",[2,28]],["biqle.org",3],["biqle.ru",3],["lrepacks.net",[4,22]],["fm-app.ru",5],["tvapp.su",5],["yootv.ru",5],["cq.ru",6],["rambler.ru",[7,23]],["sibnet.ru",8],["sports.ru",9],["buhplatforma.com.ua",10],["dzplatforma.com.ua",10],["medplatforma.com.ua",10],["oblikbudget.com.ua",10],["oplatforma.com.ua",10],["pro-op.com.ua",10],["prokadry.com.ua",10],["doramaland.plus",11],["1progs.me",12],["xv-ru.com",13],["litnet.com",14],["vedomosti.ru",15],["regnum.news",16],["regnum.ru",16],["tproger.ru",16],["forbes.ru",17],["116.ru",18],["14.ru",18],["161.ru",18],["164.ru",18],["173.ru",18],["178.ru",18],["26.ru",18],["29.ru",18],["35.ru",18],["43.ru",18],["45.ru",18],["48.ru",18],["51.ru",18],["53.ru",18],["56.ru",18],["59.ru",18],["60.ru",18],["63.ru",18],["68.ru",18],["71.ru",18],["72.ru",18],["74.ru",18],["76.ru",18],["86.ru",18],["89.ru",18],["93.ru",18],["chita.ru",18],["e1.ru",18],["ircity.ru",18],["izh1.ru",18],["mgorsk.ru",18],["msk1.ru",18],["ngs.ru",18],["ngs22.ru",18],["ngs24.ru",18],["ngs42.ru",18],["ngs55.ru",18],["ngs70.ru",18],["nn.ru",18],["sochi1.ru",18],["sterlitamak1.ru",18],["tolyatty.ru",18],["ufa1.ru",18],["v1.ru",18],["vladivostok1.ru",18],["voronezh1.ru",18],["www.fontanka.ru",[18,43]],["ya62.ru",18],["softonic.ru",19],["rutube.ru",[20,33,38]],["smotrim.ru",21],["kp.kg",[24,43]],["kp.kz",[24,43]],["kp.md",[24,43]],["kp.ru",[24,43]],["rbc.ru",24],["sportrbc.ru",24],["carservic.ru",25],["iptv.org.ua",25],["newxboxone.ru",25],["tva.org.ua",25],["ufchgu.ru",25],["megaprogz.ru",26],["programhub.ru",26],["trychatgpt.ru",27],["romakatya.ru",29],["blackwot.ru",30],["overclockers.ru",31],["bonus-tv.ru",32],["kinoblin.ru",34],["pornoakt.info",34],["serialai.ru",34],["m.lenta.ru",35],["www.vesti.ru",36],["lenta.ru",37],["autonews.co.ua",39],["in-poland.com",39],["liveball.*",39],["ukrainianwall.com",39],["fap-guru.*",40],["seks-studentki.*",40],["sex-studentki.*",40],["e.mail.ru",41],["octavius.mail.ru",41],["tass.ru",42],["cdn.viqeo.tv",43],["kinonews.ru",43],["mk.ru",43],["ohotniki.ru",43],["portalvirtualreality.ru",43],["radiokp.ru",43],["sportkp.ru",43],["the-day.ru",43],["woman.ru",43]]);
426
+ const exceptionsMap = new Map([["new.fastpic.org",[2,28]],["id.rambler.ru",[7,23]],["vp.rambler.ru",[7,23]],["player.smotrim.ru",[21]],["mail.rambler.ru",[23]]]);
423
427
  const hasEntities = true;
424
428
  const hasAncestors = false;
425
429
 
@@ -244,10 +244,10 @@ function safeSelf() {
244
244
  /******************************************************************************/
245
245
 
246
246
  const scriptletGlobals = {}; // eslint-disable-line
247
- const argsList = [["/dispatch"],["/p/?q="],["utm"]];
248
- const hostnamesMap = new Map([["silvercube12.xyz",0],["tv.acestream.org",1],["infox.sg",2]]);
247
+ const argsList = [[],["/dispatch"],["/p/?q="],["utm"],["/adtag|creative_id/"]];
248
+ const hostnamesMap = new Map([["aj2738.top",0],["silvercube12.xyz",1],["tv.acestream.org",2],["infox.sg",3],["24parik.*",4],["parik24.*",4]]);
249
249
  const exceptionsMap = new Map([]);
250
- const hasEntities = false;
250
+ const hasEntities = true;
251
251
  const hasAncestors = false;
252
252
 
253
253
  const collectArgIndices = (hn, map, out) => {
@@ -461,7 +461,7 @@ function urlSkip(url, blocked, steps, directive = {}) {
461
461
 
462
462
  const scriptletGlobals = {}; // eslint-disable-line
463
463
  const argsList = [["[href*=\"?url=https\"]","?url"],["a[href*=\"&link=https://\"]","?link"],["a[href*=\".php?go=\"]","?go"],["a[href*=\"/away.php?\"]","?to"],["a[href*=\"/away?\"]","?to"],["a[href*=\"/bitrix/rk.php?goto=https\"]","?goto"],["a[href*=\"/go.php\"]","?url"],["a[href*=\"/redir.php?r=\"]","?r"],["a[href*=\"/redir/\"]","?exturl"],["a[href*=\"/redir/\"]","?vzurl"],["a[href*=\"/redirect?to=\"]","?to"],["a[href*=\"://click.opennet.ru/cgi-bin/\"]","?to"],["a[href*=\"?goto=https\"]","?goto"],["a[href*=\"deeplink=\"]","?deeplink"],["a[href][rel*=\"sponsored\"][target=\"_blank\"]","?goto"],["a[href][target=\"_blank\"]","?ulp"],["a[href^=\"//www.ixbt.com/click/?c=\"]","[title]"],["a[href^=\"/engine/dwn\"]","?xf"],["a[href^=\"https://go.2038.pro/\"][href*=\"?dl=\"]","?dl"],["a[href^=\"https://pikabu.ru/\"][href*=\"?u=http\"]","?u"],["a[href^=\"https://www.google.com/url?q=\"]"],["a[href^=\"https://www.youtube.com/redirect?event=\"][href*=\"&q=http\"]","?q"],["[href^=\"https://checklink.mail.ru/proxy?\"]","?url"],["[href^=\"https://click.mail.ru/redir?u=\"]","?u"],["[href^=\"https://clicker.mail.ru/redir?u=\"]","?u"],["[data-cke-saved-href^=\"https://checklink.mail.ru/proxy?\"]"]];
464
- const hostnamesMap = new Map([["mp3party.net",0],["portalvirtualreality.ru",1],["softoroom.org",2],["vk.com",3],["vk.ru",3],["vkvideo.ru",3],["dzen.ru",4],["freehat.cc",5],["lalapaluza.ru",5],["game4you.top",6],["innal.top",6],["naylo.top",6],["rustorka.com",6],["rustorka.net",6],["rustorka.top",6],["rustorkacom.lib",6],["stalkermods.ru",7],["vz.ru",[8,9]],["dtf.ru",10],["vc.ru",[10,18]],["opennet.me",11],["opennet.ru",11],["appleinsider.ru",12],["kluchikipro.ru",13],["lifehacker.ru",14],["hot.game",15],["www.ixbt.com",16],["wotspeak.org",17],["pikabu.ru",19],["nsportal.ru",20],["youtube.com",21],["light.mail.ru",[22,23]],["my.mail.ru",24],["e.mail.ru",25],["octavius.mail.ru",25]]);
464
+ const hostnamesMap = new Map([["mp3party.net",0],["portalvirtualreality.ru",1],["softoroom.org",2],["vk.com",3],["vk.ru",3],["vkvideo.ru",3],["dzen.ru",4],["freehat.cc",5],["lalapaluza.ru",5],["game4you.top",6],["innal.top",6],["naylo.top",6],["rustorka.com",6],["rustorka.net",6],["rustorka.top",6],["rustorkacom.lib",6],["stalkermods.ru",7],["vz.ru",[8,9]],["dtf.ru",10],["vc.ru",[10,18]],["opennet.me",11],["opennet.ru",11],["appleinsider.ru",12],["kluchikipro.ru",13],["lifehacker.ru",[14,15]],["hot.game",15],["www.ixbt.com",16],["wotspeak.org",17],["pikabu.ru",19],["nsportal.ru",20],["youtube.com",21],["light.mail.ru",[22,23]],["my.mail.ru",24],["e.mail.ru",25],["octavius.mail.ru",25]]);
465
465
  const exceptionsMap = new Map([]);
466
466
  const hasEntities = false;
467
467
  const hasAncestors = false;
@@ -507,8 +507,8 @@ function getRandomTokenFn() {
507
507
  /******************************************************************************/
508
508
 
509
509
  const scriptletGlobals = {}; // eslint-disable-line
510
- const argsList = [["ads.banners.endtag ads.banners.pausebanner ads.rolls"],["data.age_restrictions"],["data.template.disable_registration"],["item.banners"]];
511
- const hostnamesMap = new Map([["lumex.space",0],["player.smotrim.ru",[1,2]],["ohmywishes.com",3]]);
510
+ const argsList = [["ads.banners.endtag ads.banners.pausebanner ads.rolls"],["appearance.auto_start","","stackToMatch","!rutube.ru/video"],["data.age_restrictions"],["data.template.disable_registration"],["item.banners"]];
511
+ const hostnamesMap = new Map([["lumex.space",0],["rutube.ru",1],["player.smotrim.ru",[2,3]],["ohmywishes.com",4]]);
512
512
  const exceptionsMap = new Map([]);
513
513
  const hasEntities = false;
514
514
  const hasAncestors = false;
@@ -112,6 +112,10 @@ function proxyApplyFn(
112
112
  : new proxyApplyFn.ApplyContext(...args);
113
113
  }
114
114
  };
115
+ proxyApplyFn.isCtor = new Map();
116
+ }
117
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
118
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
115
119
  }
116
120
  const fnStr = fn.toString();
117
121
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -124,7 +128,7 @@ function proxyApplyFn(
124
128
  return Reflect.get(target, prop);
125
129
  },
126
130
  };
127
- if ( fn.prototype?.constructor === fn ) {
131
+ if ( proxyApplyFn.isCtor.get(target) ) {
128
132
  proxyDetails.construct = function(target, args) {
129
133
  return handler(proxyApplyFn.CtorContext.factory(target, args));
130
134
  };
@@ -266,6 +266,10 @@ function proxyApplyFn(
266
266
  : new proxyApplyFn.ApplyContext(...args);
267
267
  }
268
268
  };
269
+ proxyApplyFn.isCtor = new Map();
270
+ }
271
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
272
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
269
273
  }
270
274
  const fnStr = fn.toString();
271
275
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -278,7 +282,7 @@ function proxyApplyFn(
278
282
  return Reflect.get(target, prop);
279
283
  },
280
284
  };
281
- if ( fn.prototype?.constructor === fn ) {
285
+ if ( proxyApplyFn.isCtor.get(target) ) {
282
286
  proxyDetails.construct = function(target, args) {
283
287
  return handler(proxyApplyFn.CtorContext.factory(target, args));
284
288
  };
@@ -118,6 +118,10 @@ function proxyApplyFn(
118
118
  : new proxyApplyFn.ApplyContext(...args);
119
119
  }
120
120
  };
121
+ proxyApplyFn.isCtor = new Map();
122
+ }
123
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
124
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
121
125
  }
122
126
  const fnStr = fn.toString();
123
127
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -130,7 +134,7 @@ function proxyApplyFn(
130
134
  return Reflect.get(target, prop);
131
135
  },
132
136
  };
133
- if ( fn.prototype?.constructor === fn ) {
137
+ if ( proxyApplyFn.isCtor.get(target) ) {
134
138
  proxyDetails.construct = function(target, args) {
135
139
  return handler(proxyApplyFn.CtorContext.factory(target, args));
136
140
  };
@@ -118,6 +118,10 @@ function proxyApplyFn(
118
118
  : new proxyApplyFn.ApplyContext(...args);
119
119
  }
120
120
  };
121
+ proxyApplyFn.isCtor = new Map();
122
+ }
123
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
124
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
121
125
  }
122
126
  const fnStr = fn.toString();
123
127
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -130,7 +134,7 @@ function proxyApplyFn(
130
134
  return Reflect.get(target, prop);
131
135
  },
132
136
  };
133
- if ( fn.prototype?.constructor === fn ) {
137
+ if ( proxyApplyFn.isCtor.get(target) ) {
134
138
  proxyDetails.construct = function(target, args) {
135
139
  return handler(proxyApplyFn.CtorContext.factory(target, args));
136
140
  };
@@ -362,8 +366,8 @@ function safeSelf() {
362
366
  /******************************************************************************/
363
367
 
364
368
  const scriptletGlobals = {}; // eslint-disable-line
365
- const argsList = [["","250"],["Adblock"],["X-Set-Adblock"],["_modal"],["adBlockEnabled"],["adblock"],["ai_adb"],["alert","15000"],["antyadb","5000"],["apply","2000"],["blocker"],["doAd"],["evercookie","300000"],["getComputedStyle","250"],["getCookie","3000"],["getElementBy"],["getVisibleDivs","300"],["initServices","5000"],["is_adblock"],["removeJuristicNotification"],["saa"],["sparkle"],["tie-popup-adblock"],["toUTCString"],["window.location.reload"],["_0x"],["MIMIC_FORCE"],["_runBatch","100"],["()=>n()","50"]];
366
- const hostnamesMap = new Map([["otzovik.com",0],["sibnet.ru",1],["razlozhi.ru",2],["allapteki.ru",3],["buhgalter.com.ua",4],["buhgalter911.com",4],["factor.ua",4],["strategium.ru",5],["fonmod.com",[6,13]],["aqicn.org",7],["tragtorr.in",8],["tragtorr.info",8],["limehd.tv",9],["litehd.tv",9],["pervyi-tv.online",9],["russia-tv.online",9],["drive2.ru",10],["www.kinopoisk.ru",10],["tv-kanali.online",11],["tradingview.com",12],["hdkinoteatr.com",14],["ferr-um.ucoz.ru",15],["stalker-2-2012.ucoz.net",15],["rusvesna.su",16],["in-poland.com",17],["fishki.net",18],["vseinstrumenti.ru",19],["testserver.pro",20],["anime-chan.me",21],["flightsim.su",22],["num-words.com",23],["softportal.com",23],["sport.ua",24],["howdyho.*",25],["e.mail.ru",[26,27,28]],["octavius.mail.ru",[26,27]]]);
369
+ const argsList = [["","250"],["AdBlock"],["Adblock"],["X-Set-Adblock"],["_modal"],["adBlockEnabled"],["adblock"],["ai_adb"],["alert","15000"],["antyadb","5000"],["apply","2000"],["blocker"],["doAd"],["evercookie","300000"],["getComputedStyle","250"],["getCookie","3000"],["getElementBy"],["getVisibleDivs","300"],["initServices","5000"],["is_adblock"],["removeJuristicNotification"],["saa"],["sparkle"],["tie-popup-adblock"],["toUTCString"],["window.location.reload"],["_0x"],["MIMIC_FORCE"],["_runBatch","100"],["()=>n()","50"]];
370
+ const hostnamesMap = new Map([["otzovik.com",0],["ritsatv.ru",1],["sibnet.ru",2],["razlozhi.ru",3],["allapteki.ru",4],["buhgalter.com.ua",5],["buhgalter911.com",5],["factor.ua",5],["strategium.ru",6],["fonmod.com",[7,14]],["aqicn.org",8],["tragtorr.in",9],["tragtorr.info",9],["limehd.tv",10],["litehd.tv",10],["pervyi-tv.online",10],["russia-tv.online",10],["drive2.ru",11],["www.kinopoisk.ru",11],["tv-kanali.online",12],["tradingview.com",13],["hdkinoteatr.com",15],["ferr-um.ucoz.ru",16],["stalker-2-2012.ucoz.net",16],["rusvesna.su",17],["in-poland.com",18],["fishki.net",19],["vseinstrumenti.ru",20],["testserver.pro",21],["anime-chan.me",22],["flightsim.su",23],["num-words.com",24],["softportal.com",24],["sport.ua",25],["howdyho.*",26],["e.mail.ru",[27,28,29]],["octavius.mail.ru",[27,28]]]);
367
371
  const exceptionsMap = new Map([]);
368
372
  const hasEntities = true;
369
373
  const hasAncestors = false;
@@ -177,6 +177,10 @@ function proxyApplyFn(
177
177
  : new proxyApplyFn.ApplyContext(...args);
178
178
  }
179
179
  };
180
+ proxyApplyFn.isCtor = new Map();
181
+ }
182
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
183
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
180
184
  }
181
185
  const fnStr = fn.toString();
182
186
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -189,7 +193,7 @@ function proxyApplyFn(
189
193
  return Reflect.get(target, prop);
190
194
  },
191
195
  };
192
- if ( fn.prototype?.constructor === fn ) {
196
+ if ( proxyApplyFn.isCtor.get(target) ) {
193
197
  proxyDetails.construct = function(target, args) {
194
198
  return handler(proxyApplyFn.CtorContext.factory(target, args));
195
199
  };
@@ -368,9 +368,9 @@ function safeSelf() {
368
368
  /******************************************************************************/
369
369
 
370
370
  const scriptletGlobals = {}; // eslint-disable-line
371
- const argsList = [["#text","РЕКЛАМНЫЙ БЛОК:"],["#text","Реклама"],["#text","Реклама:"],["div","ad-mark__b-unit-wrapper"],["div","мый посетитель!"],["script","decodeURIComponent(escape"],["script","/ADBLOCK|checkAdBlocker/"],["script","/checkCookie|potapinasty|s_script|tick/"],["script","/document.head.appendChild|document.referrer/"],["script","/gtag\\('event'/"],["script","AdBlocker"],["script","addPlaceholder"],["script","clickedOnContent"],["script","error-report.com"],["script","getComputedStyle"],["script","message_ads"],["script","/initTeasers|initVads/"],["script","violatedDirective"],["script","\"Shadow"]];
372
- const hostnamesMap = new Map([["online-fix.me",0],["farposst.ru",1],["filmitorrent.net",2],["utorr.cc",2],["ya.ru",3],["game4you.top",[4,7]],["innal.top",[4,7]],["naylo.top",[4,7]],["rustorka.com",[4,7]],["rustorka.net",[4,7]],["rustorka.top",[4,7]],["rustorkacom.lib",[4,7]],["nullcms.ru",5],["ritsatv.ru",6],["tapochek.net",8],["inforesist.org",[9,18]],["sports.ru",10],["pikabu.ru",11],["agronews.ua",12],["agroreview.com",12],["newsyou.info",13],["fapvdo.ru",14],["gsm.in.ua",15],["cosplay-porn.*",16],["fap-guru.*",16],["mult-porno.*",16],["sex-studentki.*",16],["mail.ru",17],["24boxing.com.ua",18],["avtovod.com.ua",18],["bigmir.net",18],["bilshe.com",18],["buhgalter.com.ua",18],["buhgalter911.com",18],["businessua.com",18],["censor.net",18],["dengi.ua",18],["ditey.com",18],["epravda.com.ua",18],["f1analytic.com",18],["facenews.ua",18],["factor.ua",18],["football-ukraine.com",18],["football24.ua",18],["footballgazeta.com",18],["footballtransfer.com.ua",18],["gazeta.ua",18],["glianec.com",18],["gorod.dp.ua",18],["hvylya.net",18],["i.ua",18],["isport.ua",18],["ivona.ua",18],["kolobok.ua",18],["kriminal.tv",18],["liga.net",18],["meteo.ua",18],["meteofor.com.ua",18],["nnovosti.info",18],["nv.ua",18],["panno4ka.net",18],["pogodaua.com",18],["pravda.com.ua",18],["real-vin.com",18],["sportanalytic.com",18],["stravy.net",18],["tochka.net",18],["tv.ua",18],["viva.ua",18],["vsetv.com",18],["www.ukr.net",18],["zdorovia.com.ua",18]]);
373
- const exceptionsMap = new Map([["3igames.mail.ru",[17]],["account.mail.ru",[17]],["auto.mail.ru",[17]],["biz.mail.ru",[17]],["blog.mail.ru",[17]],["bonus.mail.ru",[17]],["calendar.mail.ru",[17]],["calls.mail.ru",[17]],["cloud.mail.ru",[17]],["connect.mail.ru",[17]],["deti.mail.ru",[17]],["dobro.mail.ru",[17]],["e.mail.ru",[17]],["finance.mail.ru",[17]],["gibdd.mail.ru",[17]],["health.mail.ru",[17]],["help.mail.ru",[17]],["hi-tech.mail.ru",[17]],["horo.mail.ru",[17]],["kino.mail.ru",[17]],["lady.mail.ru",[17]],["love.mail.ru",[17]],["mcs.mail.ru",[17]],["minigames.mail.ru",[17]],["my.mail.ru",[17]],["news.mail.ru",[17]],["o2.mail.ru",[17]],["octavius.mail.ru",[17]],["okminigames.mail.ru",[17]],["otvet.mail.ru",[17]],["pets.mail.ru",[17]],["player-smotri.mail.ru",[17]],["pogoda.mail.ru",[17]],["top.mail.ru",[17]],["touch.mail.ru",[17]],["tv.mail.ru",[17]],["vfokuse.mail.ru",[17]],["widgets.mail.ru",[17]]]);
371
+ const argsList = [["#text","РЕКЛАМНЫЙ БЛОК:"],["#text","Реклама"],["#text","Реклама:"],["div","ad-mark__b-unit-wrapper"],["div","мый посетитель!"],["script","decodeURIComponent(escape"],["script","/adBlock|adblock-warning/"],["script","/checkCookie|potapinasty|s_script|tick/"],["script","/document.head.appendChild|document.referrer/"],["script","/gtag\\('event'/"],["script","AdBlocker"],["script","addPlaceholder"],["script","clickedOnContent"],["script","createAdblockBlock"],["script","error-report.com"],["script","getComputedStyle"],["script","message_ads"],["script","/initTeasers|initVads/"],["script","violatedDirective"],["script","\"Shadow"]];
372
+ const hostnamesMap = new Map([["online-fix.me",0],["farposst.ru",1],["filmitorrent.net",2],["utorr.cc",2],["ya.ru",3],["game4you.top",[4,7]],["innal.top",[4,7]],["naylo.top",[4,7]],["rustorka.com",[4,7]],["rustorka.net",[4,7]],["rustorka.top",[4,7]],["rustorkacom.lib",[4,7]],["nullcms.ru",5],["ritsatv.ru",6],["tapochek.net",8],["inforesist.org",[9,19]],["sports.ru",10],["pikabu.ru",11],["agronews.ua",12],["agroreview.com",12],["ahen.me",13],["newsyou.info",14],["fapvdo.ru",15],["gsm.in.ua",16],["cosplay-porn.*",17],["fap-guru.*",17],["mult-porno.*",17],["sex-studentki.*",17],["mail.ru",18],["24boxing.com.ua",19],["avtovod.com.ua",19],["bigmir.net",19],["bilshe.com",19],["buhgalter.com.ua",19],["buhgalter911.com",19],["businessua.com",19],["censor.net",19],["dengi.ua",19],["ditey.com",19],["epravda.com.ua",19],["f1analytic.com",19],["facenews.ua",19],["factor.ua",19],["football-ukraine.com",19],["football24.ua",19],["footballgazeta.com",19],["footballtransfer.com.ua",19],["gazeta.ua",19],["glianec.com",19],["gorod.dp.ua",19],["hvylya.net",19],["i.ua",19],["isport.ua",19],["ivona.ua",19],["kolobok.ua",19],["kriminal.tv",19],["liga.net",19],["meteo.ua",19],["meteofor.com.ua",19],["nnovosti.info",19],["nv.ua",19],["panno4ka.net",19],["pogodaua.com",19],["pravda.com.ua",19],["real-vin.com",19],["sportanalytic.com",19],["stravy.net",19],["tochka.net",19],["tv.ua",19],["viva.ua",19],["vsetv.com",19],["www.ukr.net",19],["zdorovia.com.ua",19]]);
373
+ const exceptionsMap = new Map([["3igames.mail.ru",[18]],["account.mail.ru",[18]],["auto.mail.ru",[18]],["biz.mail.ru",[18]],["blog.mail.ru",[18]],["bonus.mail.ru",[18]],["calendar.mail.ru",[18]],["calls.mail.ru",[18]],["cloud.mail.ru",[18]],["connect.mail.ru",[18]],["deti.mail.ru",[18]],["dobro.mail.ru",[18]],["e.mail.ru",[18]],["finance.mail.ru",[18]],["gibdd.mail.ru",[18]],["health.mail.ru",[18]],["help.mail.ru",[18]],["hi-tech.mail.ru",[18]],["horo.mail.ru",[18]],["kino.mail.ru",[18]],["lady.mail.ru",[18]],["love.mail.ru",[18]],["mcs.mail.ru",[18]],["minigames.mail.ru",[18]],["my.mail.ru",[18]],["news.mail.ru",[18]],["o2.mail.ru",[18]],["octavius.mail.ru",[18]],["okminigames.mail.ru",[18]],["otvet.mail.ru",[18]],["pets.mail.ru",[18]],["player-smotri.mail.ru",[18]],["pogoda.mail.ru",[18]],["top.mail.ru",[18]],["touch.mail.ru",[18]],["tv.mail.ru",[18]],["vfokuse.mail.ru",[18]],["widgets.mail.ru",[18]]]);
374
374
  const hasEntities = true;
375
375
  const hasAncestors = false;
376
376
 
@@ -344,8 +344,8 @@ function runAt(fn, when) {
344
344
  /******************************************************************************/
345
345
 
346
346
  const scriptletGlobals = {}; // eslint-disable-line
347
- const argsList = [["._1z_ ._21_","style",""],[".comment-media > .andropov-video > video","controls","true"],[".cycle-carousel-wrap > a > img","src","[data-src]"],[".media > .andropov-video > video","controls","true"],[".owl-item > a > img","src","[data-src]"],["[class^=\"articleBlockVideo_\"] video","controls","true"],["img[src=\"https://overclockers.ru/assets/logo_gray_stub.gif\"]","src","[data-src]"],["video","controls","true"],["video[controls=\"controls\"]","controls","true"],["#progress-value","data-timer","25"]];
348
- const hostnamesMap = new Map([["playvillage.ru",0],["dtf.ru",[1,3]],["vc.ru",[1,3]],["fishki.net",2],["eneyida.tv",4],["fontanka.ru",5],["overclockers.ru",6],["joyreactor.cc",7],["reactor.cc",7],["3dnews.ru",8],["howdyho.*",9]]);
347
+ const argsList = [["._1z_ ._21_","style",""],[".comment-media .andropov-video video","controls","true"],[".cycle-carousel-wrap > a.bottom_slide__item > img","src","[data-src]"],[".media .andropov-video video","controls","true"],[".owl-item > a > img","src","[data-src]"],["[class^=\"articleBlockVideo_\"] video","controls","true"],["img[src=\"https://overclockers.ru/assets/logo_gray_stub.gif\"]","src","[data-src]"],["video","controls","true"],["video[controls=\"controls\"]","controls","true"],["#progress-value","data-timer","25"],["video[class*=\"HLSPlayback_player\"]","controls","true"]];
348
+ const hostnamesMap = new Map([["playvillage.ru",0],["dtf.ru",[1,3]],["vc.ru",[1,3]],["fishki.net",2],["eneyida.tv",4],["fontanka.ru",5],["overclockers.ru",6],["joyreactor.cc",7],["reactor.cc",7],["3dnews.ru",8],["howdyho.*",9],["tass.ru",10]]);
349
349
  const exceptionsMap = new Map([]);
350
350
  const hasEntities = true;
351
351
  const hasAncestors = false;
@@ -460,9 +460,9 @@ function validateConstantFn(trusted, raw, extraArgs = {}) {
460
460
  /******************************************************************************/
461
461
 
462
462
  const scriptletGlobals = {}; // eslint-disable-line
463
- const argsList = [["ADV_DISABLED","true"],["Clicks._test_meta_referer","null"],["Object.prototype.AdvObject","noopFunc"],["Object.prototype.AdvertisementManager","undefined"],["Object.prototype.IS_CHECK_REGISTRATION","false"],["Object.prototype.MediaReady","noopFunc"],["Object.prototype.PLAYED","null"],["Object.prototype._currentAgeRestriction","null"],["Object.prototype.adblockSettings","undefined"],["Object.prototype.advert","null"],["Object.prototype.advert","undefined"],["Object.prototype.advertObject","null"],["Object.prototype.afg","true"],["Object.prototype.amp","noopFunc"],["Object.prototype.autoPlay","false"],["Object.prototype.autoPlay","null"],["Object.prototype.autoPopups","undefined"],["Object.prototype.autoplay","false"],["Object.prototype.autoplay","null"],["Object.prototype.autostart","noopFunc"],["Object.prototype.branding","undefined"],["Object.prototype.changeVisible","noopFunc"],["Object.prototype.createBannerItem","null"],["Object.prototype.data-censorhip","undefined"],["Object.prototype.detect","noopFunc"],["Object.prototype.detectAdblock","noopFunc"],["Object.prototype.detectAdblock","undefined"],["Object.prototype.detectBlockAds","noopFunc"],["Object.prototype.disableAutoplay","true"],["Object.prototype.disablePaste","false"],["Object.prototype.disableSeek","noopFunc"],["Object.prototype.disableSelection","noopFunc"],["Object.prototype.getAutoplay","noopFunc"],["Object.prototype.getPlacement","undefined"],["Object.prototype.getUaasConfig","undefined"],["Object.prototype.initialAutoplay","null"],["Object.prototype.isCustomBannerType","undefined"],["Object.prototype.livetv-state","true"],["Object.prototype.manualAutoplay_","null"],["Object.prototype.minPlayingVisibleHeight","noopFunc"],["Object.prototype.partnerId","{}"],["Object.prototype.playVideo","noopFunc"],["Object.prototype.utm","false"],["Object.prototype.utm_campaign","false"],["Object.prototype.utm_medium","false"],["Object.prototype.utm_source","false"],["Object.prototype.utm_space","false"],["Object.prototype.utm_term","false"],["PageBottomBanners","undefined"],["String.fromCharCode","trueFunc"],["Unauthorized2","undefined"],["adBlock","false"],["adsenseIsLoaded","true"],["app.book.external","null"],["cadb","false"],["clicks","2"],["countdownNum","0"],["frames.innerWidth","{}"],["g_GazetaNoExchange","true"],["history.replaceState","noopFunc"],["isAdFree","noopFunc"],["localStorage.localstorageGameData",""],["main_air_closed","true"],["navigator.sendBeacon","noopFunc"],["noAdsAtAll","{}"],["pl.getParams.isPlay","null"],["player.options.scroll","false"],["playerOptions.behaviour.autoPlay","false"],["player_options.autoplay","false"],["portal.isRedirectToYandexSearchAfterDownloadEnabled","false"],["timeEnd","1"],["top100Counter","false"],["window.EUMP.plugins.antiblock","noopFunc"],["window.ab","false"],["window.c","4"],["Object.prototype.preroll","undefined"],["flashvars.protect_block",""],["NO_ADV","1"],["Object.prototype.autoPlayParams","false"],["Object.prototype.detectAdBlock","undefined"],["Object.prototype.enableMimic","noopFunc"],["Object.prototype.mimic","undefined"],["Object.prototype.obfuscateParams","undefined"],["Object.prototype.runMimic","noopFunc"],["Object.prototype.useMimic","noopFunc"],["__PHS._.props.html","{}"],["document.title","null"],["mr._mimic.locator.transform","undefined"],["Object.prototype.hasAdBlock","null"],["Object.prototype.AdvertisingManager","noopFunc"],["Object.prototype.autoplay","noopFunc"],["Object.prototype.hasAdBlock","false"]];
464
- const hostnamesMap = new Map([["peers.tv",0],["www.ukr.net",1],["ivi.ru",[2,11]],["ictv.ua",3],["inter.ua",3],["k1.ua",3],["novy.tv",3],["ntn.ua",3],["starlight.digital",3],["stb.ua",3],["teleportal.ua",3],["player.vgtrk.com",4],["tv-gubernia.ru",[5,62]],["xsport.ua",6],["1tv.ru",[7,30,72]],["api-video.khl.ru",8],["razlozhi.ru",[9,54]],["ren.tv",10],["rutube.ru",10],["igroutka.ru",12],["kinonews.ru",13],["cdnvideo.ru",14],["eda.ru",14],["mania.gcdn.co",14],["tass.ru",[14,57]],["vp.rambler.ru",[14,39]],["www.rambler.ru",14],["afisha.ru",15],["partnerkin.com",16],["frontend.vh.yandex.ru",[17,32,35,40]],["eagleplatform.com",[18,66]],["embed.dugout.com",19],["sports.ru",20],["dni.expert",21],["dni.ru",21],["kp.kg",21],["kp.kz",21],["kp.md",21],["kp.ru",21],["ladys.media",21],["lifehacker.ru",21],["mk.ru",21],["ohotniki.ru",21],["portalvirtualreality.ru",21],["radiokp.ru",21],["russian.rt.com",21],["sportkp.ru",21],["the-day.ru",21],["woman.ru",21],["womanhit.ru",21],["ati.su",22],["meduza.io",23],["24smi.org",24],["examenpdd.com",25],["dtf.ru",26],["retail.ru",27],["embed.twitch.tv",28],["player.twitch.tv",28],["www.mos.ru",29],["kinokong.sk",31],["dzen.ru",[32,33,36,40]],["shedevrum.ai",34],["rbc.ru",37],["sportrbc.ru",37],["tenews.org.ua",38],["naydex.net",40],["widgets.kinopoisk.ru",40],["www.kinopoisk.ru",40],["yastatic.net",40],["3dnews.ru",41],["vm.ru",41],["forbes.ru",[42,43,44,45,46,47]],["vk.com",[48,50,64]],["vk.ru",[48,50,64]],["free-tor.info",49],["korsars.info",49],["hentai-share.one",51],["in-poland.com",52],["gdz-putina.fun",53],["gdz.ninja",53],["gdz.ru",53],["gdzotputina.club",53],["gdzputina.net",53],["megaresheba.com",53],["megaresheba.ru",53],["resheba.me",53],["spishi.fun",53],["zoobrilka.net",53],["audioportal.su",55],["pb.wtf",56],["pirat.one",56],["piratbit.fun",56],["piratbit.org",56],["piratbit.top",56],["gazeta.ru",[58,59,60]],["playground.ru",61],["116.ru",[63,90]],["14.ru",[63,90]],["161.ru",[63,90]],["164.ru",[63,90]],["173.ru",[63,90]],["178.ru",[63,90]],["26.ru",[63,90]],["29.ru",[63,90]],["35.ru",[63,90]],["43.ru",[63,90]],["45.ru",[63,90]],["48.ru",[63,90]],["51.ru",[63,90]],["53.ru",[63,90]],["56.ru",[63,90]],["59.ru",[63,90]],["60.ru",[63,90]],["63.ru",[63,90]],["68.ru",[63,90]],["71.ru",[63,90]],["72.ru",[63,90]],["74.ru",[63,90]],["76.ru",[63,90]],["86.ru",[63,90]],["89.ru",[63,90]],["93.ru",[63,90]],["chita.ru",[63,90]],["e1.ru",[63,90]],["ircity.ru",[63,90]],["izh1.ru",[63,90]],["mgorsk.ru",[63,90]],["msk1.ru",[63,90]],["ngs.ru",[63,90]],["ngs22.ru",[63,90]],["ngs24.ru",[63,90]],["ngs42.ru",[63,90]],["ngs55.ru",[63,90]],["ngs70.ru",[63,90]],["nn.ru",[63,90]],["sochi1.ru",[63,90]],["sterlitamak1.ru",[63,90]],["tolyatty.ru",[63,90]],["ufa1.ru",[63,90]],["v1.ru",[63,90]],["vladivostok1.ru",[63,90]],["voronezh1.ru",[63,90]],["www.fontanka.ru",[63,90]],["ya62.ru",[63,90]],["player.smotrim.ru",65],["kinescope.io",67],["m24.ru",68],["megaprogz.ru",69],["programhub.ru",69],["softportal.com",70],["rambler.ru",71],["remont-aud.net",73],["wdho.ru",74],["fanserial.*",75],["fanserialstv.net",75],["hdrezka.*",75],["rezka.*",75],["smaxim.*",76],["okminigames.mail.ru",77],["player-smotri.mail.ru",78],["ok.ru",[79,82]],["finance.mail.ru",80],["news.mail.ru",[80,85]],["sportmail.ru",80],["vfokuse.mail.ru",80],["mail.ru",[81,86,87]],["my.mail.ru",83],["pogoda.mail.ru",84],["e.mail.ru",[88,91]],["octavius.mail.ru",88],["mail.ukr.net",89]]);
465
- const exceptionsMap = new Map([["spec.tass.ru",[57]],["calls.mail.ru",[81,86,87]],["e.mail.ru",[81,86,87]],["finance.mail.ru",[81,86,87]],["my.mail.ru",[81,86,87]],["news.mail.ru",[81,86,87]],["o2.mail.ru",[81,86,87]],["octavius.mail.ru",[81,86,87]],["sportmail.ru",[81]],["touch.mail.ru",[81,86,87]],["vfokuse.mail.ru",[81,86,87]],["3igames.mail.ru",[86,87]],["account.mail.ru",[86,87]],["auto.mail.ru",[86,87]],["biz.mail.ru",[86,87]],["bonus.mail.ru",[86,87]],["calendar.mail.ru",[86,87]],["cloud.mail.ru",[86,87]],["connect.mail.ru",[86,87]],["deti.mail.ru",[86,87]],["dobro.mail.ru",[86,87]],["gibdd.mail.ru",[86,87]],["health.mail.ru",[86,87]],["help.mail.ru",[86,87]],["hi-tech.mail.ru",[86,87]],["horo.mail.ru",[86,87]],["kino.mail.ru",[86,87]],["lady.mail.ru",[86,87]],["love.mail.ru",[86,87]],["mcs.mail.ru",[86,87]],["minigames.mail.ru",[86,87]],["okminigames.mail.ru",[86,87]],["otvet.mail.ru",[86,87]],["pets.mail.ru",[86,87]],["player-smotri.mail.ru",[86,87]],["pogoda.mail.ru",[86,87]],["top.mail.ru",[86,87]],["tv.mail.ru",[86,87]],["widgets.mail.ru",[86,87]],["blog.mail.ru",[87]]]);
463
+ const argsList = [["ADV_DISABLED","true"],["Clicks._test_meta_referer","null"],["HTMLVideoElement.prototype.play","{}"],["Object.prototype.AdChoices","undefined"],["Object.prototype.AdvObject","noopFunc"],["Object.prototype.AdvertisementManager","undefined"],["Object.prototype.IS_CHECK_REGISTRATION","false"],["Object.prototype.MediaReady","noopFunc"],["Object.prototype.PLAYED","null"],["Object.prototype._currentAgeRestriction","null"],["Object.prototype.adblockSettings","undefined"],["Object.prototype.advert","null"],["Object.prototype.advert","undefined"],["Object.prototype.advertObject","null"],["Object.prototype.afg","true"],["Object.prototype.amp","noopFunc"],["Object.prototype.autoPlay","false"],["Object.prototype.autoPlay","null"],["Object.prototype.autoPopups","undefined"],["Object.prototype.autoplay","false"],["Object.prototype.autoplay","null"],["Object.prototype.autostart","noopFunc"],["Object.prototype.branding","undefined"],["Object.prototype.changeVisible","noopFunc"],["Object.prototype.createBannerItem","null"],["Object.prototype.detect","noopFunc"],["Object.prototype.detectAdblock","noopFunc"],["Object.prototype.detectAdblock","undefined"],["Object.prototype.detectBlockAds","noopFunc"],["Object.prototype.disableAutoplay","true"],["Object.prototype.disablePaste","false"],["Object.prototype.disableSeek","noopFunc"],["Object.prototype.disableSelection","noopFunc"],["Object.prototype.getAutoplay","noopFunc"],["Object.prototype.getPlacement","undefined"],["Object.prototype.getUaasConfig","undefined"],["Object.prototype.initialAutoplay","null"],["Object.prototype.isCustomBannerType","undefined"],["Object.prototype.isTurboPage","undefined"],["Object.prototype.livetv-state","true"],["Object.prototype.manualAutoplay_","null"],["Object.prototype.minPlayingVisibleHeight","noopFunc"],["Object.prototype.partnerId","{}"],["Object.prototype.playVideo","noopFunc"],["PageBottomBanners","undefined"],["String.fromCharCode","trueFunc"],["Unauthorized2","undefined"],["adBlock","false"],["adsenseIsLoaded","true"],["app.book.external","null"],["cadb","false"],["clicks","2"],["countdownNum","0"],["g_GazetaNoExchange","true"],["history.replaceState","noopFunc"],["isAdFree","noopFunc"],["localStorage.localstorageGameData",""],["main_air_closed","true"],["navigator.sendBeacon","noopFunc"],["noAdsAtAll","{}"],["pl.getParams.isPlay","null"],["player.options.scroll","false"],["playerOptions.behaviour.autoPlay","false"],["player_options.autoplay","false"],["portal.isRedirectToYandexSearchAfterDownloadEnabled","false"],["timeEnd","1"],["top100Counter","false"],["window.EUMP.plugins.antiblock","noopFunc"],["window.ab","false"],["window.c","4"],["Object.prototype.preroll","undefined"],["flashvars.protect_block",""],["NO_ADV","1"],["Object.prototype.autoPlayParams","false"],["Object.prototype.detectAdBlock","undefined"],["Object.prototype.enableMimic","noopFunc"],["Object.prototype.mimic","undefined"],["Object.prototype.obfuscateParams","undefined"],["Object.prototype.runMimic","noopFunc"],["Object.prototype.useMimic","noopFunc"],["__PHS._.props.html","{}"],["document.title","null"],["mr._mimic.locator.transform","undefined"],["Object.prototype.hasAdBlock","null"],["Object.prototype.autoPlay","{}"],["Object.prototype.AdvertisingManager","noopFunc"],["Object.prototype.autoplay","noopFunc"],["Object.prototype.hasAdBlock","false"]];
464
+ const hostnamesMap = new Map([["peers.tv",0],["www.ukr.net",1],["dtf.ru",[2,27]],["vc.ru",2],["vk.com",[3,44,46,59]],["vk.ru",[3,44,46,59]],["ivi.ru",[4,13]],["ictv.ua",5],["inter.ua",5],["k1.ua",5],["novy.tv",5],["ntn.ua",5],["starlight.digital",5],["stb.ua",5],["teleportal.ua",5],["player.vgtrk.com",6],["tv-gubernia.ru",[7,57]],["xsport.ua",8],["1tv.ru",[9,31,67]],["api-video.khl.ru",10],["razlozhi.ru",[11,50]],["ren.tv",12],["rutube.ru",12],["igroutka.ru",14],["kinonews.ru",15],["cdnvideo.ru",16],["eda.ru",16],["mania.gcdn.co",16],["vp.rambler.ru",[16,41]],["www.rambler.ru",16],["afisha.ru",17],["partnerkin.com",18],["frontend.vh.yandex.ru",[19,33,36,42]],["eagleplatform.com",[20,61]],["embed.dugout.com",21],["sports.ru",22],["dni.expert",23],["dni.ru",23],["kp.kg",23],["kp.kz",23],["kp.md",23],["kp.ru",23],["ladys.media",23],["lifehacker.ru",23],["mk.ru",23],["ohotniki.ru",23],["portalvirtualreality.ru",23],["radiokp.ru",23],["russian.rt.com",23],["sportkp.ru",23],["the-day.ru",23],["woman.ru",23],["womanhit.ru",23],["ati.su",24],["24smi.org",25],["examenpdd.com",26],["retail.ru",28],["embed.twitch.tv",29],["player.twitch.tv",29],["www.mos.ru",30],["kinokong.sk",32],["dzen.ru",[33,34,37,38,42]],["shedevrum.ai",35],["rbc.ru",39],["sportrbc.ru",39],["tenews.org.ua",40],["naydex.net",42],["widgets.kinopoisk.ru",42],["www.kinopoisk.ru",42],["yastatic.net",42],["3dnews.ru",43],["vm.ru",43],["free-tor.info",45],["korsars.info",45],["hentai-share.one",47],["in-poland.com",48],["gdz-putina.fun",49],["gdz.ninja",49],["gdz.ru",49],["gdzotputina.club",49],["gdzputina.net",49],["megaresheba.com",49],["megaresheba.ru",49],["resheba.me",49],["spishi.fun",49],["zoobrilka.net",49],["audioportal.su",51],["pb.wtf",52],["pirat.one",52],["piratbit.fun",52],["piratbit.org",52],["piratbit.top",52],["gazeta.ru",[53,54,55]],["playground.ru",56],["116.ru",[58,86]],["14.ru",[58,86]],["161.ru",[58,86]],["164.ru",[58,86]],["173.ru",[58,86]],["178.ru",[58,86]],["26.ru",[58,86]],["29.ru",[58,86]],["35.ru",[58,86]],["43.ru",[58,86]],["45.ru",[58,86]],["48.ru",[58,86]],["51.ru",[58,86]],["53.ru",[58,86]],["56.ru",[58,86]],["59.ru",[58,86]],["60.ru",[58,86]],["63.ru",[58,86]],["68.ru",[58,86]],["71.ru",[58,86]],["72.ru",[58,86]],["74.ru",[58,86]],["76.ru",[58,86]],["86.ru",[58,86]],["89.ru",[58,86]],["93.ru",[58,86]],["chita.ru",[58,86]],["e1.ru",[58,86]],["ircity.ru",[58,86]],["izh1.ru",[58,86]],["mgorsk.ru",[58,86]],["msk1.ru",[58,86]],["ngs.ru",[58,86]],["ngs22.ru",[58,86]],["ngs24.ru",[58,86]],["ngs42.ru",[58,86]],["ngs55.ru",[58,86]],["ngs70.ru",[58,86]],["nn.ru",[58,86]],["sochi1.ru",[58,86]],["sterlitamak1.ru",[58,86]],["tolyatty.ru",[58,86]],["ufa1.ru",[58,86]],["v1.ru",[58,86]],["vladivostok1.ru",[58,86]],["voronezh1.ru",[58,86]],["www.fontanka.ru",[58,86]],["ya62.ru",[58,86]],["player.smotrim.ru",60],["kinescope.io",62],["m24.ru",63],["megaprogz.ru",64],["programhub.ru",64],["softportal.com",65],["rambler.ru",66],["remont-aud.net",68],["wdho.ru",69],["fanserial.*",70],["fanserialstv.net",70],["hdrezka.*",70],["rezka.*",70],["smaxim.*",71],["okminigames.mail.ru",72],["player-smotri.mail.ru",73],["ok.ru",[74,77]],["finance.mail.ru",75],["news.mail.ru",[75,80]],["sportmail.ru",75],["vfokuse.mail.ru",75],["mail.ru",[76,81,82]],["my.mail.ru",78],["pogoda.mail.ru",79],["e.mail.ru",[83,87]],["octavius.mail.ru",83],["tass.ru",84],["mail.ukr.net",85]]);
465
+ const exceptionsMap = new Map([["calls.mail.ru",[76,81,82]],["e.mail.ru",[76,81,82]],["finance.mail.ru",[76,81,82]],["my.mail.ru",[76,81,82]],["news.mail.ru",[76,81,82]],["o2.mail.ru",[76,81,82]],["octavius.mail.ru",[76,81,82]],["sportmail.ru",[76]],["touch.mail.ru",[76,81,82]],["vfokuse.mail.ru",[76,81,82]],["3igames.mail.ru",[81,82]],["account.mail.ru",[81,82]],["auto.mail.ru",[81,82]],["biz.mail.ru",[81,82]],["bonus.mail.ru",[81,82]],["calendar.mail.ru",[81,82]],["cloud.mail.ru",[81,82]],["connect.mail.ru",[81,82]],["deti.mail.ru",[81,82]],["dobro.mail.ru",[81,82]],["gibdd.mail.ru",[81,82]],["health.mail.ru",[81,82]],["help.mail.ru",[81,82]],["hi-tech.mail.ru",[81,82]],["horo.mail.ru",[81,82]],["kino.mail.ru",[81,82]],["lady.mail.ru",[81,82]],["love.mail.ru",[81,82]],["mcs.mail.ru",[81,82]],["minigames.mail.ru",[81,82]],["okminigames.mail.ru",[81,82]],["otvet.mail.ru",[81,82]],["pets.mail.ru",[81,82]],["player-smotri.mail.ru",[81,82]],["pogoda.mail.ru",[81,82]],["top.mail.ru",[81,82]],["tv.mail.ru",[81,82]],["widgets.mail.ru",[81,82]],["blog.mail.ru",[82]]]);
466
466
  const hasEntities = true;
467
467
  const hasAncestors = false;
468
468
 
@@ -170,6 +170,10 @@ function proxyApplyFn(
170
170
  : new proxyApplyFn.ApplyContext(...args);
171
171
  }
172
172
  };
173
+ proxyApplyFn.isCtor = new Map();
174
+ }
175
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
176
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
173
177
  }
174
178
  const fnStr = fn.toString();
175
179
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -182,7 +186,7 @@ function proxyApplyFn(
182
186
  return Reflect.get(target, prop);
183
187
  },
184
188
  };
185
- if ( fn.prototype?.constructor === fn ) {
189
+ if ( proxyApplyFn.isCtor.get(target) ) {
186
190
  proxyDetails.construct = function(target, args) {
187
191
  return handler(proxyApplyFn.CtorContext.factory(target, args));
188
192
  };