{"version":3,"sources":["jsdelivr-header.js","/npm/@violentmonkey/url@0.1.0/dist/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;CCLA,SAAW,EAAQ,GACA,iBAAZ,SAA0C,oBAAX,OAAyB,EAAQ,SACrD,mBAAX,QAAyB,OAAO,IAAM,OAAO,CAAC,WAAY,GACU,GAA1E,EAA+B,oBAAf,WAA6B,WAAa,GAAU,MAAqB,GAAK,EAAO,IAAM,CAAC,EAC5G,CAJD,CAIG,MAAM,SAAW,GAAW,aAE/B,IAAI,EAEJ,MAAM,EAAoB,IAAI,IAC9B,IAAI,GAAkB,EACtB,SAAS,EAAO,EAAI,GAClB,MAAM,EAAW,YAAa,GAC5B,MAAM,EAAM,CACV,OACA,YAAQ,GAKV,OAHW,MAAX,GAA6C,MAAlB,EAAQ,QAA0B,EAAQ,OAAO,GAC5E,EAAI,OAAS,EAAG,MAAM,KAAM,EAAI,MACrB,MAAX,GAA4C,MAAjB,EAAQ,OAAyB,EAAQ,MAAM,GACnE,EAAI,MACb,EAGA,OADA,EAAS,KAAO,EACT,CACT,CAaA,SAAS,IACP,EAAkB,SAAQ,GAAY,KACxC,CASA,MAAM,EAAW,OAAO,OAAqB,oBAAP,KAAqC,OAAb,EAAM,SAAc,EAAS,EAAI,WAAa,CAAC,EAAG,CAC9G,IAAK,UAGP,EAAQ,OAAS,EACjB,EAAQ,WAZR,SAAoB,GAGlB,OAjBI,IACJ,GAAkB,EAClB,OAAO,QAAQ,UAAY,EAAO,OAAO,QAAQ,UAAW,CAC1D,MAAO,IAET,OAAO,QAAQ,aAAe,EAAO,OAAO,QAAQ,aAAc,CAChE,MAAO,KAUT,EAAkB,IAAI,GACf,KACL,EAAkB,OAAO,EAAS,CAEtC,EAOA,EAAQ,SAAW,CAElB","file":"/npm/@violentmonkey/url@0.1.0/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.37.0.\n * Original file: /npm/@violentmonkey/url@0.1.0/dist/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","/*! @violentmonkey/url v0.1.0 | MIT License */\n(function (global, factory) {\ntypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\ntypeof define === 'function' && define.amd ? define(['exports'], factory) :\n(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.VM = global.VM || {}));\n})(this, (function (exports) { 'use strict';\n\nvar _VM;\n\nconst navigateCallbacks = new Set();\nlet historyHijacked = false;\nfunction hijack(fn, options) {\n  const hijacked = function (...args) {\n    const ctx = {\n      args,\n      result: undefined\n    };\n    options == null ? void 0 : options.before == null ? void 0 : options.before(ctx);\n    ctx.result = fn.apply(this, ctx.args);\n    options == null ? void 0 : options.after == null ? void 0 : options.after(ctx);\n    return ctx.result;\n  };\n\n  hijacked.__fn = fn;\n  return hijacked;\n}\n\nfunction hookHistory() {\n  if (historyHijacked) return;\n  historyHijacked = true;\n  window.history.pushState = hijack(window.history.pushState, {\n    after: handleNavigate\n  });\n  window.history.replaceState = hijack(window.history.replaceState, {\n    after: handleNavigate\n  });\n}\n\nfunction handleNavigate() {\n  navigateCallbacks.forEach(callback => callback());\n}\n\nfunction onNavigate(callback) {\n  hookHistory();\n  navigateCallbacks.add(callback);\n  return () => {\n    navigateCallbacks.delete(callback);\n  };\n}\nconst versions = Object.assign(typeof VM !== 'undefined' && ((_VM = VM) == null ? void 0 : _VM.versions) || {}, {\n  url: '0.1.0'\n});\n\nexports.hijack = hijack;\nexports.onNavigate = onNavigate;\nexports.versions = versions;\n\n}));\n"]}