@layerzerolabs/vm-tooling 0.0.60 → 0.0.61

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 (184) hide show
  1. package/dist/2AQAGKCU.cjs +39 -0
  2. package/dist/2AQAGKCU.cjs.map +1 -0
  3. package/dist/{M6YAIP2X.cjs → 37UR3RSN.cjs} +10 -10
  4. package/dist/{M6YAIP2X.cjs.map → 37UR3RSN.cjs.map} +1 -1
  5. package/dist/{CL6CDQMJ.js → 45K4IRAA.js} +5 -5
  6. package/dist/{CL6CDQMJ.js.map → 45K4IRAA.js.map} +1 -1
  7. package/dist/{IQXSRATS.cjs → 4SZ6P77Q.cjs} +30 -30
  8. package/dist/{IQXSRATS.cjs.map → 4SZ6P77Q.cjs.map} +1 -1
  9. package/dist/{IZVZ5TRG.js → 5QGJ7CFM.js} +5 -5
  10. package/dist/{IZVZ5TRG.js.map → 5QGJ7CFM.js.map} +1 -1
  11. package/dist/{VVTDADG7.cjs → 7WVEMAKW.cjs} +5 -5
  12. package/dist/{VVTDADG7.cjs.map → 7WVEMAKW.cjs.map} +1 -1
  13. package/dist/{VGCATKI5.cjs → AHQNBZE4.cjs} +5 -5
  14. package/dist/{VGCATKI5.cjs.map → AHQNBZE4.cjs.map} +1 -1
  15. package/dist/{4RWETOR3.cjs → AMF2EES3.cjs} +23 -23
  16. package/dist/{4RWETOR3.cjs.map → AMF2EES3.cjs.map} +1 -1
  17. package/dist/{F46O4OAT.js → ARTA3TG2.js} +9 -5
  18. package/dist/ARTA3TG2.js.map +1 -0
  19. package/dist/{OGU6CONG.js → BOOCAPHW.js} +5 -5
  20. package/dist/{OGU6CONG.js.map → BOOCAPHW.js.map} +1 -1
  21. package/dist/{BPGURM6D.js → CJNBA2MN.js} +6 -4
  22. package/dist/CJNBA2MN.js.map +1 -0
  23. package/dist/{72W2AKIC.js → CMSYZVLH.js} +3 -3
  24. package/dist/{72W2AKIC.js.map → CMSYZVLH.js.map} +1 -1
  25. package/dist/CYUSPBTH.cjs +8 -0
  26. package/dist/{YI6EL3AH.cjs.map → CYUSPBTH.cjs.map} +1 -1
  27. package/dist/{NNE5MIRH.cjs → DEL75SYN.cjs} +284 -284
  28. package/dist/{NNE5MIRH.cjs.map → DEL75SYN.cjs.map} +1 -1
  29. package/dist/DPCW4JIV.cjs +53 -0
  30. package/dist/DPCW4JIV.cjs.map +1 -0
  31. package/dist/{DK5YZCTB.cjs → EPPFFBGP.cjs} +13 -13
  32. package/dist/{DK5YZCTB.cjs.map → EPPFFBGP.cjs.map} +1 -1
  33. package/dist/{W7QMZBXR.cjs → F7OAIAEX.cjs} +26 -26
  34. package/dist/{W7QMZBXR.cjs.map → F7OAIAEX.cjs.map} +1 -1
  35. package/dist/{ZGTCJSBO.js → FAOU2ZJO.js} +3 -3
  36. package/dist/{ZGTCJSBO.js.map → FAOU2ZJO.js.map} +1 -1
  37. package/dist/{PSSBUABA.cjs → FI3AZBYE.cjs} +7 -7
  38. package/dist/{PSSBUABA.cjs.map → FI3AZBYE.cjs.map} +1 -1
  39. package/dist/FKPK53TD.cjs +8 -0
  40. package/dist/FKPK53TD.cjs.map +1 -0
  41. package/dist/GSHFVQRI.cjs +8 -0
  42. package/dist/{OOTZHKMN.cjs.map → GSHFVQRI.cjs.map} +1 -1
  43. package/dist/{QO6IEDLG.cjs → HMP4FGDB.cjs} +61 -61
  44. package/dist/{QO6IEDLG.cjs.map → HMP4FGDB.cjs.map} +1 -1
  45. package/dist/{2RWEJQEO.cjs → HN3U775J.cjs} +10 -10
  46. package/dist/{2RWEJQEO.cjs.map → HN3U775J.cjs.map} +1 -1
  47. package/dist/{4EYI4PYN.cjs → HSC5AWAD.cjs} +211 -211
  48. package/dist/{4EYI4PYN.cjs.map → HSC5AWAD.cjs.map} +1 -1
  49. package/dist/{BI33BCZD.js → HVBHNWI7.js} +3 -3
  50. package/dist/{BI33BCZD.js.map → HVBHNWI7.js.map} +1 -1
  51. package/dist/{LJR3ILZB.cjs → IVSX4QVP.cjs} +28 -24
  52. package/dist/IVSX4QVP.cjs.map +1 -0
  53. package/dist/{W3N4CNDW.js → JEOLJJ6F.js} +4 -4
  54. package/dist/{W3N4CNDW.js.map → JEOLJJ6F.js.map} +1 -1
  55. package/dist/{BXO3RC75.cjs → JGLHYXTW.cjs} +17 -17
  56. package/dist/{BXO3RC75.cjs.map → JGLHYXTW.cjs.map} +1 -1
  57. package/dist/{HI4NXK4T.cjs → JLKKDVCL.cjs} +10 -4
  58. package/dist/JLKKDVCL.cjs.map +1 -0
  59. package/dist/{LUO6HP3P.cjs → KFOKN2M2.cjs} +62 -62
  60. package/dist/{LUO6HP3P.cjs.map → KFOKN2M2.cjs.map} +1 -1
  61. package/dist/{OSR73KYW.cjs → KONCDJAL.cjs} +18 -18
  62. package/dist/{OSR73KYW.cjs.map → KONCDJAL.cjs.map} +1 -1
  63. package/dist/M4PGJV5D.js +6 -0
  64. package/dist/M4PGJV5D.js.map +1 -0
  65. package/dist/MMIV5S36.js +51 -0
  66. package/dist/MMIV5S36.js.map +1 -0
  67. package/dist/{JGA7AJCX.js → NX66I36H.js} +8 -2
  68. package/dist/NX66I36H.js.map +1 -0
  69. package/dist/{FUZCR6WN.cjs → OT5L7ME6.cjs} +273 -273
  70. package/dist/{FUZCR6WN.cjs.map → OT5L7ME6.cjs.map} +1 -1
  71. package/dist/{NEQ3DTUV.cjs → OWTMHDOF.cjs} +16 -16
  72. package/dist/{NEQ3DTUV.cjs.map → OWTMHDOF.cjs.map} +1 -1
  73. package/dist/{4UZKQNSD.cjs → OZNFYXME.cjs} +20 -20
  74. package/dist/{4UZKQNSD.cjs.map → OZNFYXME.cjs.map} +1 -1
  75. package/dist/{OAYLBSRH.cjs → P5BPMTGP.cjs} +40 -40
  76. package/dist/{OAYLBSRH.cjs.map → P5BPMTGP.cjs.map} +1 -1
  77. package/dist/{NUB3VR3D.js → QBFQWBQ4.js} +4 -4
  78. package/dist/{NUB3VR3D.js.map → QBFQWBQ4.js.map} +1 -1
  79. package/dist/{64SMUTQJ.cjs → QYB5VPZE.cjs} +5 -5
  80. package/dist/{64SMUTQJ.cjs.map → QYB5VPZE.cjs.map} +1 -1
  81. package/dist/{L5ENV2DK.cjs → SPOUVTPR.cjs} +56 -56
  82. package/dist/{L5ENV2DK.cjs.map → SPOUVTPR.cjs.map} +1 -1
  83. package/dist/{M5C4OTHX.js → TBDZQONT.js} +6 -6
  84. package/dist/{M5C4OTHX.js.map → TBDZQONT.js.map} +1 -1
  85. package/dist/{ABGH4Z56.cjs → TQMUPD75.cjs} +8 -8
  86. package/dist/{ABGH4Z56.cjs.map → TQMUPD75.cjs.map} +1 -1
  87. package/dist/{2X4NOJJL.js → U4OLGGKH.js} +5 -5
  88. package/dist/{2X4NOJJL.js.map → U4OLGGKH.js.map} +1 -1
  89. package/dist/{VO65XOWD.cjs → U7VZULNU.cjs} +2 -5
  90. package/dist/U7VZULNU.cjs.map +1 -0
  91. package/dist/{ZV7VZVS6.js → UHPHZ6AE.js} +3 -3
  92. package/dist/{ZV7VZVS6.js.map → UHPHZ6AE.js.map} +1 -1
  93. package/dist/{KS44PBXU.cjs → UN57VWAW.cjs} +438 -438
  94. package/dist/{KS44PBXU.cjs.map → UN57VWAW.cjs.map} +1 -1
  95. package/dist/{BVLAV47O.cjs → VZOUGVXS.cjs} +9 -9
  96. package/dist/{BVLAV47O.cjs.map → VZOUGVXS.cjs.map} +1 -1
  97. package/dist/{DPDVRYLI.cjs → WDSPHVPJ.cjs} +65 -65
  98. package/dist/{DPDVRYLI.cjs.map → WDSPHVPJ.cjs.map} +1 -1
  99. package/dist/{F2ZPATQF.cjs → WH45T4LS.cjs} +10 -10
  100. package/dist/{F2ZPATQF.cjs.map → WH45T4LS.cjs.map} +1 -1
  101. package/dist/{XOQZ3G2K.cjs → WHAPJZ3U.cjs} +34 -32
  102. package/dist/WHAPJZ3U.cjs.map +1 -0
  103. package/dist/{JWQN2QGP.cjs → Y5ZXTD76.cjs} +147 -147
  104. package/dist/{JWQN2QGP.cjs.map → Y5ZXTD76.cjs.map} +1 -1
  105. package/dist/YNMZEV5X.cjs +11 -0
  106. package/dist/{TC7EHVC2.cjs.map → YNMZEV5X.cjs.map} +1 -1
  107. package/dist/{6SVY3NVF.cjs → ZQZTKVYB.cjs} +22 -22
  108. package/dist/{6SVY3NVF.cjs.map → ZQZTKVYB.cjs.map} +1 -1
  109. package/dist/commands/starknet/build-typescript-sdk.cjs +13 -0
  110. package/dist/commands/starknet/build-typescript-sdk.cjs.map +1 -0
  111. package/dist/commands/starknet/build-typescript-sdk.d.ts +2 -0
  112. package/dist/commands/starknet/build-typescript-sdk.d.ts.map +1 -0
  113. package/dist/commands/starknet/build-typescript-sdk.js +4 -0
  114. package/dist/commands/starknet/build-typescript-sdk.js.map +1 -0
  115. package/dist/commands/starknet/index.cjs +14 -0
  116. package/dist/commands/starknet/index.cjs.map +1 -0
  117. package/dist/commands/starknet/index.d.ts +2 -0
  118. package/dist/commands/starknet/index.d.ts.map +1 -0
  119. package/dist/commands/starknet/index.js +5 -0
  120. package/dist/commands/starknet/index.js.map +1 -0
  121. package/dist/config/index.cjs +9 -9
  122. package/dist/config/index.js +2 -2
  123. package/dist/config/tools.cjs +4 -4
  124. package/dist/config/tools.d.ts.map +1 -1
  125. package/dist/config/tools.js +2 -2
  126. package/dist/config/version-matrices.cjs +3 -3
  127. package/dist/config/version-matrices.d.ts.map +1 -1
  128. package/dist/config/version-matrices.js +1 -1
  129. package/dist/core/compatibility.cjs +3 -3
  130. package/dist/core/index.cjs +14 -14
  131. package/dist/core/index.js +5 -5
  132. package/dist/core/lock.cjs +5 -5
  133. package/dist/core/lock.test.cjs +996 -996
  134. package/dist/core/tool-executor.cjs +9 -9
  135. package/dist/core/tool-executor.d.ts +1 -0
  136. package/dist/core/tool-executor.d.ts.map +1 -1
  137. package/dist/core/tool-executor.js +5 -5
  138. package/dist/core/version-resolver.cjs +8 -8
  139. package/dist/core/version-resolver.js +3 -3
  140. package/dist/display/formatters.cjs +5 -5
  141. package/dist/display/formatters.js +3 -3
  142. package/dist/display/index.cjs +9 -9
  143. package/dist/display/index.js +4 -4
  144. package/dist/display/version-display.cjs +7 -7
  145. package/dist/display/version-display.js +4 -4
  146. package/dist/index.cjs +28 -24
  147. package/dist/index.cjs.map +1 -1
  148. package/dist/index.d.ts.map +1 -1
  149. package/dist/index.js +13 -9
  150. package/dist/index.js.map +1 -1
  151. package/dist/scripts/generate-github-matrix.cjs +298 -299
  152. package/dist/scripts/generate-github-matrix.cjs.map +1 -1
  153. package/dist/scripts/generate-github-matrix.js +9 -10
  154. package/dist/scripts/generate-github-matrix.js.map +1 -1
  155. package/dist/types/docker.cjs +2 -2
  156. package/dist/types/index.cjs +2 -2
  157. package/dist/types/tool.cjs +2 -2
  158. package/dist/types/version.cjs +2 -2
  159. package/dist/types/version.cjs.map +1 -1
  160. package/dist/types/version.d.ts +1 -0
  161. package/dist/types/version.d.ts.map +1 -1
  162. package/dist/types/version.js.map +1 -1
  163. package/dist/utils/docker.cjs +5 -5
  164. package/dist/utils/docker.js +2 -2
  165. package/dist/utils/error.cjs +3 -3
  166. package/dist/utils/finder.cjs +12 -12
  167. package/dist/utils/finder.js +2 -2
  168. package/dist/utils/version.cjs +7 -7
  169. package/dist/utils/version.js +2 -2
  170. package/dist/utils.cjs +6 -6
  171. package/dist/utils.js +2 -2
  172. package/package.json +6 -5
  173. package/dist/AY3IP22W.cjs +0 -39
  174. package/dist/AY3IP22W.cjs.map +0 -1
  175. package/dist/BPGURM6D.js.map +0 -1
  176. package/dist/F46O4OAT.js.map +0 -1
  177. package/dist/HI4NXK4T.cjs.map +0 -1
  178. package/dist/JGA7AJCX.js.map +0 -1
  179. package/dist/LJR3ILZB.cjs.map +0 -1
  180. package/dist/OOTZHKMN.cjs +0 -8
  181. package/dist/TC7EHVC2.cjs +0 -11
  182. package/dist/VO65XOWD.cjs.map +0 -1
  183. package/dist/XOQZ3G2K.cjs.map +0 -1
  184. package/dist/YI6EL3AH.cjs +0 -8
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../node_modules/.pnpm/@jridgewell+sourcemap-codec@1.5.5/node_modules/@jridgewell/sourcemap-codec/src/vlq.ts","../../../node_modules/.pnpm/@jridgewell+sourcemap-codec@1.5.5/node_modules/@jridgewell/sourcemap-codec/src/strings.ts","../../../node_modules/.pnpm/@jridgewell+sourcemap-codec@1.5.5/node_modules/@jridgewell/sourcemap-codec/src/sourcemap-codec.ts","../../../node_modules/.pnpm/magic-string@0.30.17/node_modules/magic-string/src/BitSet.js","../../../node_modules/.pnpm/magic-string@0.30.17/node_modules/magic-string/src/Chunk.js","../../../node_modules/.pnpm/magic-string@0.30.17/node_modules/magic-string/src/SourceMap.js","../../../node_modules/.pnpm/magic-string@0.30.17/node_modules/magic-string/src/utils/guessIndent.js","../../../node_modules/.pnpm/magic-string@0.30.17/node_modules/magic-string/src/utils/getRelativePath.js","../../../node_modules/.pnpm/magic-string@0.30.17/node_modules/magic-string/src/utils/isObject.js","../../../node_modules/.pnpm/magic-string@0.30.17/node_modules/magic-string/src/utils/getLocator.js","../../../node_modules/.pnpm/magic-string@0.30.17/node_modules/magic-string/src/utils/Mappings.js","../../../node_modules/.pnpm/magic-string@0.30.17/node_modules/magic-string/src/MagicString.js","../../../node_modules/.pnpm/magic-string@0.30.17/node_modules/magic-string/src/Bundle.js"],"names":["__name","n","segment","replacement"],"mappings":"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","file":"4RWETOR3.cjs","sourcesContent":["import type { StringReader, StringWriter } from './strings';\n\nexport const comma = ','.charCodeAt(0);\nexport const semicolon = ';'.charCodeAt(0);\n\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nconst intToChar = new Uint8Array(64); // 64 possible chars.\nconst charToInt = new Uint8Array(128); // z is 122 in ASCII\n\nfor (let i = 0; i < chars.length; i++) {\n const c = chars.charCodeAt(i);\n intToChar[i] = c;\n charToInt[c] = i;\n}\n\nexport function decodeInteger(reader: StringReader, relative: number): number {\n let value = 0;\n let shift = 0;\n let integer = 0;\n\n do {\n const c = reader.next();\n integer = charToInt[c];\n value |= (integer & 31) << shift;\n shift += 5;\n } while (integer & 32);\n\n const shouldNegate = value & 1;\n value >>>= 1;\n\n if (shouldNegate) {\n value = -0x80000000 | -value;\n }\n\n return relative + value;\n}\n\nexport function encodeInteger(builder: StringWriter, num: number, relative: number): number {\n let delta = num - relative;\n\n delta = delta < 0 ? (-delta << 1) | 1 : delta << 1;\n do {\n let clamped = delta & 0b011111;\n delta >>>= 5;\n if (delta > 0) clamped |= 0b100000;\n builder.write(intToChar[clamped]);\n } while (delta > 0);\n\n return num;\n}\n\nexport function hasMoreVlq(reader: StringReader, max: number) {\n if (reader.pos >= max) return false;\n return reader.peek() !== comma;\n}\n","const bufLength = 1024 * 16;\n\n// Provide a fallback for older environments.\nconst td =\n typeof TextDecoder !== 'undefined'\n ? /* #__PURE__ */ new TextDecoder()\n : typeof Buffer !== 'undefined'\n ? {\n decode(buf: Uint8Array): string {\n const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);\n return out.toString();\n },\n }\n : {\n decode(buf: Uint8Array): string {\n let out = '';\n for (let i = 0; i < buf.length; i++) {\n out += String.fromCharCode(buf[i]);\n }\n return out;\n },\n };\n\nexport class StringWriter {\n pos = 0;\n private out = '';\n private buffer = new Uint8Array(bufLength);\n\n write(v: number): void {\n const { buffer } = this;\n buffer[this.pos++] = v;\n if (this.pos === bufLength) {\n this.out += td.decode(buffer);\n this.pos = 0;\n }\n }\n\n flush(): string {\n const { buffer, out, pos } = this;\n return pos > 0 ? out + td.decode(buffer.subarray(0, pos)) : out;\n }\n}\n\nexport class StringReader {\n pos = 0;\n declare private buffer: string;\n\n constructor(buffer: string) {\n this.buffer = buffer;\n }\n\n next(): number {\n return this.buffer.charCodeAt(this.pos++);\n }\n\n peek(): number {\n return this.buffer.charCodeAt(this.pos);\n }\n\n indexOf(char: string): number {\n const { buffer, pos } = this;\n const idx = buffer.indexOf(char, pos);\n return idx === -1 ? buffer.length : idx;\n }\n}\n","import { comma, decodeInteger, encodeInteger, hasMoreVlq, semicolon } from './vlq';\nimport { StringWriter, StringReader } from './strings';\n\nexport {\n decodeOriginalScopes,\n encodeOriginalScopes,\n decodeGeneratedRanges,\n encodeGeneratedRanges,\n} from './scopes';\nexport type { OriginalScope, GeneratedRange, CallSite, BindingExpressionRange } from './scopes';\n\nexport type SourceMapSegment =\n | [number]\n | [number, number, number, number]\n | [number, number, number, number, number];\nexport type SourceMapLine = SourceMapSegment[];\nexport type SourceMapMappings = SourceMapLine[];\n\nexport function decode(mappings: string): SourceMapMappings {\n const { length } = mappings;\n const reader = new StringReader(mappings);\n const decoded: SourceMapMappings = [];\n let genColumn = 0;\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n\n do {\n const semi = reader.indexOf(';');\n const line: SourceMapLine = [];\n let sorted = true;\n let lastCol = 0;\n genColumn = 0;\n\n while (reader.pos < semi) {\n let seg: SourceMapSegment;\n\n genColumn = decodeInteger(reader, genColumn);\n if (genColumn < lastCol) sorted = false;\n lastCol = genColumn;\n\n if (hasMoreVlq(reader, semi)) {\n sourcesIndex = decodeInteger(reader, sourcesIndex);\n sourceLine = decodeInteger(reader, sourceLine);\n sourceColumn = decodeInteger(reader, sourceColumn);\n\n if (hasMoreVlq(reader, semi)) {\n namesIndex = decodeInteger(reader, namesIndex);\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex];\n } else {\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn];\n }\n } else {\n seg = [genColumn];\n }\n\n line.push(seg);\n reader.pos++;\n }\n\n if (!sorted) sort(line);\n decoded.push(line);\n reader.pos = semi + 1;\n } while (reader.pos <= length);\n\n return decoded;\n}\n\nfunction sort(line: SourceMapSegment[]) {\n line.sort(sortComparator);\n}\n\nfunction sortComparator(a: SourceMapSegment, b: SourceMapSegment): number {\n return a[0] - b[0];\n}\n\nexport function encode(decoded: SourceMapMappings): string;\nexport function encode(decoded: Readonly<SourceMapMappings>): string;\nexport function encode(decoded: Readonly<SourceMapMappings>): string {\n const writer = new StringWriter();\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n if (i > 0) writer.write(semicolon);\n if (line.length === 0) continue;\n\n let genColumn = 0;\n\n for (let j = 0; j < line.length; j++) {\n const segment = line[j];\n if (j > 0) writer.write(comma);\n\n genColumn = encodeInteger(writer, segment[0], genColumn);\n\n if (segment.length === 1) continue;\n sourcesIndex = encodeInteger(writer, segment[1], sourcesIndex);\n sourceLine = encodeInteger(writer, segment[2], sourceLine);\n sourceColumn = encodeInteger(writer, segment[3], sourceColumn);\n\n if (segment.length === 4) continue;\n namesIndex = encodeInteger(writer, segment[4], namesIndex);\n }\n }\n\n return writer.flush();\n}\n","export default class BitSet {\n\tconstructor(arg) {\n\t\tthis.bits = arg instanceof BitSet ? arg.bits.slice() : [];\n\t}\n\n\tadd(n) {\n\t\tthis.bits[n >> 5] |= 1 << (n & 31);\n\t}\n\n\thas(n) {\n\t\treturn !!(this.bits[n >> 5] & (1 << (n & 31)));\n\t}\n}\n","export default class Chunk {\n\tconstructor(start, end, content) {\n\t\tthis.start = start;\n\t\tthis.end = end;\n\t\tthis.original = content;\n\n\t\tthis.intro = '';\n\t\tthis.outro = '';\n\n\t\tthis.content = content;\n\t\tthis.storeName = false;\n\t\tthis.edited = false;\n\n\t\tif (DEBUG) {\n\t\t\t// we make these non-enumerable, for sanity while debugging\n\t\t\tObject.defineProperties(this, {\n\t\t\t\tprevious: { writable: true, value: null },\n\t\t\t\tnext: { writable: true, value: null },\n\t\t\t});\n\t\t} else {\n\t\t\tthis.previous = null;\n\t\t\tthis.next = null;\n\t\t}\n\t}\n\n\tappendLeft(content) {\n\t\tthis.outro += content;\n\t}\n\n\tappendRight(content) {\n\t\tthis.intro = this.intro + content;\n\t}\n\n\tclone() {\n\t\tconst chunk = new Chunk(this.start, this.end, this.original);\n\n\t\tchunk.intro = this.intro;\n\t\tchunk.outro = this.outro;\n\t\tchunk.content = this.content;\n\t\tchunk.storeName = this.storeName;\n\t\tchunk.edited = this.edited;\n\n\t\treturn chunk;\n\t}\n\n\tcontains(index) {\n\t\treturn this.start < index && index < this.end;\n\t}\n\n\teachNext(fn) {\n\t\tlet chunk = this;\n\t\twhile (chunk) {\n\t\t\tfn(chunk);\n\t\t\tchunk = chunk.next;\n\t\t}\n\t}\n\n\teachPrevious(fn) {\n\t\tlet chunk = this;\n\t\twhile (chunk) {\n\t\t\tfn(chunk);\n\t\t\tchunk = chunk.previous;\n\t\t}\n\t}\n\n\tedit(content, storeName, contentOnly) {\n\t\tthis.content = content;\n\t\tif (!contentOnly) {\n\t\t\tthis.intro = '';\n\t\t\tthis.outro = '';\n\t\t}\n\t\tthis.storeName = storeName;\n\n\t\tthis.edited = true;\n\n\t\treturn this;\n\t}\n\n\tprependLeft(content) {\n\t\tthis.outro = content + this.outro;\n\t}\n\n\tprependRight(content) {\n\t\tthis.intro = content + this.intro;\n\t}\n\n\treset() {\n\t\tthis.intro = '';\n\t\tthis.outro = '';\n\t\tif (this.edited) {\n\t\t\tthis.content = this.original;\n\t\t\tthis.storeName = false;\n\t\t\tthis.edited = false;\n\t\t}\n\t}\n\n\tsplit(index) {\n\t\tconst sliceIndex = index - this.start;\n\n\t\tconst originalBefore = this.original.slice(0, sliceIndex);\n\t\tconst originalAfter = this.original.slice(sliceIndex);\n\n\t\tthis.original = originalBefore;\n\n\t\tconst newChunk = new Chunk(index, this.end, originalAfter);\n\t\tnewChunk.outro = this.outro;\n\t\tthis.outro = '';\n\n\t\tthis.end = index;\n\n\t\tif (this.edited) {\n\t\t\t// after split we should save the edit content record into the correct chunk\n\t\t\t// to make sure sourcemap correct\n\t\t\t// For example:\n\t\t\t// ' test'.trim()\n\t\t\t// split -> ' ' + 'test'\n\t\t\t// ✔️ edit -> '' + 'test'\n\t\t\t// ✖️ edit -> 'test' + ''\n\t\t\t// TODO is this block necessary?...\n\t\t\tnewChunk.edit('', false);\n\t\t\tthis.content = '';\n\t\t} else {\n\t\t\tthis.content = originalBefore;\n\t\t}\n\n\t\tnewChunk.next = this.next;\n\t\tif (newChunk.next) newChunk.next.previous = newChunk;\n\t\tnewChunk.previous = this;\n\t\tthis.next = newChunk;\n\n\t\treturn newChunk;\n\t}\n\n\ttoString() {\n\t\treturn this.intro + this.content + this.outro;\n\t}\n\n\ttrimEnd(rx) {\n\t\tthis.outro = this.outro.replace(rx, '');\n\t\tif (this.outro.length) return true;\n\n\t\tconst trimmed = this.content.replace(rx, '');\n\n\t\tif (trimmed.length) {\n\t\t\tif (trimmed !== this.content) {\n\t\t\t\tthis.split(this.start + trimmed.length).edit('', undefined, true);\n\t\t\t\tif (this.edited) {\n\t\t\t\t\t// save the change, if it has been edited\n\t\t\t\t\tthis.edit(trimmed, this.storeName, true);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} else {\n\t\t\tthis.edit('', undefined, true);\n\n\t\t\tthis.intro = this.intro.replace(rx, '');\n\t\t\tif (this.intro.length) return true;\n\t\t}\n\t}\n\n\ttrimStart(rx) {\n\t\tthis.intro = this.intro.replace(rx, '');\n\t\tif (this.intro.length) return true;\n\n\t\tconst trimmed = this.content.replace(rx, '');\n\n\t\tif (trimmed.length) {\n\t\t\tif (trimmed !== this.content) {\n\t\t\t\tconst newChunk = this.split(this.end - trimmed.length);\n\t\t\t\tif (this.edited) {\n\t\t\t\t\t// save the change, if it has been edited\n\t\t\t\t\tnewChunk.edit(trimmed, this.storeName, true);\n\t\t\t\t}\n\t\t\t\tthis.edit('', undefined, true);\n\t\t\t}\n\t\t\treturn true;\n\t\t} else {\n\t\t\tthis.edit('', undefined, true);\n\n\t\t\tthis.outro = this.outro.replace(rx, '');\n\t\t\tif (this.outro.length) return true;\n\t\t}\n\t}\n}\n","import { encode } from '@jridgewell/sourcemap-codec';\n\nfunction getBtoa() {\n\tif (typeof globalThis !== 'undefined' && typeof globalThis.btoa === 'function') {\n\t\treturn (str) => globalThis.btoa(unescape(encodeURIComponent(str)));\n\t} else if (typeof Buffer === 'function') {\n\t\treturn (str) => Buffer.from(str, 'utf-8').toString('base64');\n\t} else {\n\t\treturn () => {\n\t\t\tthrow new Error('Unsupported environment: `window.btoa` or `Buffer` should be supported.');\n\t\t};\n\t}\n}\n\nconst btoa = /*#__PURE__*/ getBtoa();\n\nexport default class SourceMap {\n\tconstructor(properties) {\n\t\tthis.version = 3;\n\t\tthis.file = properties.file;\n\t\tthis.sources = properties.sources;\n\t\tthis.sourcesContent = properties.sourcesContent;\n\t\tthis.names = properties.names;\n\t\tthis.mappings = encode(properties.mappings);\n\t\tif (typeof properties.x_google_ignoreList !== 'undefined') {\n\t\t\tthis.x_google_ignoreList = properties.x_google_ignoreList;\n\t\t}\n\t\tif (typeof properties.debugId !== 'undefined') {\n\t\t\tthis.debugId = properties.debugId;\n\t\t}\n\t}\n\n\ttoString() {\n\t\treturn JSON.stringify(this);\n\t}\n\n\ttoUrl() {\n\t\treturn 'data:application/json;charset=utf-8;base64,' + btoa(this.toString());\n\t}\n}\n","export default function guessIndent(code) {\n\tconst lines = code.split('\\n');\n\n\tconst tabbed = lines.filter((line) => /^\\t+/.test(line));\n\tconst spaced = lines.filter((line) => /^ {2,}/.test(line));\n\n\tif (tabbed.length === 0 && spaced.length === 0) {\n\t\treturn null;\n\t}\n\n\t// More lines tabbed than spaced? Assume tabs, and\n\t// default to tabs in the case of a tie (or nothing\n\t// to go on)\n\tif (tabbed.length >= spaced.length) {\n\t\treturn '\\t';\n\t}\n\n\t// Otherwise, we need to guess the multiple\n\tconst min = spaced.reduce((previous, current) => {\n\t\tconst numSpaces = /^ +/.exec(current)[0].length;\n\t\treturn Math.min(numSpaces, previous);\n\t}, Infinity);\n\n\treturn new Array(min + 1).join(' ');\n}\n","export default function getRelativePath(from, to) {\n\tconst fromParts = from.split(/[/\\\\]/);\n\tconst toParts = to.split(/[/\\\\]/);\n\n\tfromParts.pop(); // get dirname\n\n\twhile (fromParts[0] === toParts[0]) {\n\t\tfromParts.shift();\n\t\ttoParts.shift();\n\t}\n\n\tif (fromParts.length) {\n\t\tlet i = fromParts.length;\n\t\twhile (i--) fromParts[i] = '..';\n\t}\n\n\treturn fromParts.concat(toParts).join('/');\n}\n","const toString = Object.prototype.toString;\n\nexport default function isObject(thing) {\n\treturn toString.call(thing) === '[object Object]';\n}\n","export default function getLocator(source) {\n\tconst originalLines = source.split('\\n');\n\tconst lineOffsets = [];\n\n\tfor (let i = 0, pos = 0; i < originalLines.length; i++) {\n\t\tlineOffsets.push(pos);\n\t\tpos += originalLines[i].length + 1;\n\t}\n\n\treturn function locate(index) {\n\t\tlet i = 0;\n\t\tlet j = lineOffsets.length;\n\t\twhile (i < j) {\n\t\t\tconst m = (i + j) >> 1;\n\t\t\tif (index < lineOffsets[m]) {\n\t\t\t\tj = m;\n\t\t\t} else {\n\t\t\t\ti = m + 1;\n\t\t\t}\n\t\t}\n\t\tconst line = i - 1;\n\t\tconst column = index - lineOffsets[line];\n\t\treturn { line, column };\n\t};\n}\n","const wordRegex = /\\w/;\n\nexport default class Mappings {\n\tconstructor(hires) {\n\t\tthis.hires = hires;\n\t\tthis.generatedCodeLine = 0;\n\t\tthis.generatedCodeColumn = 0;\n\t\tthis.raw = [];\n\t\tthis.rawSegments = this.raw[this.generatedCodeLine] = [];\n\t\tthis.pending = null;\n\t}\n\n\taddEdit(sourceIndex, content, loc, nameIndex) {\n\t\tif (content.length) {\n\t\t\tconst contentLengthMinusOne = content.length - 1;\n\t\t\tlet contentLineEnd = content.indexOf('\\n', 0);\n\t\t\tlet previousContentLineEnd = -1;\n\t\t\t// Loop through each line in the content and add a segment, but stop if the last line is empty,\n\t\t\t// else code afterwards would fill one line too many\n\t\t\twhile (contentLineEnd >= 0 && contentLengthMinusOne > contentLineEnd) {\n\t\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\t\t\t\tif (nameIndex >= 0) {\n\t\t\t\t\tsegment.push(nameIndex);\n\t\t\t\t}\n\t\t\t\tthis.rawSegments.push(segment);\n\n\t\t\t\tthis.generatedCodeLine += 1;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t\tthis.generatedCodeColumn = 0;\n\n\t\t\t\tpreviousContentLineEnd = contentLineEnd;\n\t\t\t\tcontentLineEnd = content.indexOf('\\n', contentLineEnd + 1);\n\t\t\t}\n\n\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\t\t\tif (nameIndex >= 0) {\n\t\t\t\tsegment.push(nameIndex);\n\t\t\t}\n\t\t\tthis.rawSegments.push(segment);\n\n\t\t\tthis.advance(content.slice(previousContentLineEnd + 1));\n\t\t} else if (this.pending) {\n\t\t\tthis.rawSegments.push(this.pending);\n\t\t\tthis.advance(content);\n\t\t}\n\n\t\tthis.pending = null;\n\t}\n\n\taddUneditedChunk(sourceIndex, chunk, original, loc, sourcemapLocations) {\n\t\tlet originalCharIndex = chunk.start;\n\t\tlet first = true;\n\t\t// when iterating each char, check if it's in a word boundary\n\t\tlet charInHiresBoundary = false;\n\n\t\twhile (originalCharIndex < chunk.end) {\n\t\t\tif (original[originalCharIndex] === '\\n') {\n\t\t\t\tloc.line += 1;\n\t\t\t\tloc.column = 0;\n\t\t\t\tthis.generatedCodeLine += 1;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t\tthis.generatedCodeColumn = 0;\n\t\t\t\tfirst = true;\n\t\t\t\tcharInHiresBoundary = false;\n\t\t\t} else {\n\t\t\t\tif (this.hires || first || sourcemapLocations.has(originalCharIndex)) {\n\t\t\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\n\t\t\t\t\tif (this.hires === 'boundary') {\n\t\t\t\t\t\t// in hires \"boundary\", group segments per word boundary than per char\n\t\t\t\t\t\tif (wordRegex.test(original[originalCharIndex])) {\n\t\t\t\t\t\t\t// for first char in the boundary found, start the boundary by pushing a segment\n\t\t\t\t\t\t\tif (!charInHiresBoundary) {\n\t\t\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t\t\t\tcharInHiresBoundary = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// for non-word char, end the boundary by pushing a segment\n\t\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t\t\tcharInHiresBoundary = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tloc.column += 1;\n\t\t\t\tthis.generatedCodeColumn += 1;\n\t\t\t\tfirst = false;\n\t\t\t}\n\n\t\t\toriginalCharIndex += 1;\n\t\t}\n\n\t\tthis.pending = null;\n\t}\n\n\tadvance(str) {\n\t\tif (!str) return;\n\n\t\tconst lines = str.split('\\n');\n\n\t\tif (lines.length > 1) {\n\t\t\tfor (let i = 0; i < lines.length - 1; i++) {\n\t\t\t\tthis.generatedCodeLine++;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t}\n\t\t\tthis.generatedCodeColumn = 0;\n\t\t}\n\n\t\tthis.generatedCodeColumn += lines[lines.length - 1].length;\n\t}\n}\n","import BitSet from './BitSet.js';\nimport Chunk from './Chunk.js';\nimport SourceMap from './SourceMap.js';\nimport guessIndent from './utils/guessIndent.js';\nimport getRelativePath from './utils/getRelativePath.js';\nimport isObject from './utils/isObject.js';\nimport getLocator from './utils/getLocator.js';\nimport Mappings from './utils/Mappings.js';\nimport Stats from './utils/Stats.js';\n\nconst n = '\\n';\n\nconst warned = {\n\tinsertLeft: false,\n\tinsertRight: false,\n\tstoreName: false,\n};\n\nexport default class MagicString {\n\tconstructor(string, options = {}) {\n\t\tconst chunk = new Chunk(0, string.length, string);\n\n\t\tObject.defineProperties(this, {\n\t\t\toriginal: { writable: true, value: string },\n\t\t\toutro: { writable: true, value: '' },\n\t\t\tintro: { writable: true, value: '' },\n\t\t\tfirstChunk: { writable: true, value: chunk },\n\t\t\tlastChunk: { writable: true, value: chunk },\n\t\t\tlastSearchedChunk: { writable: true, value: chunk },\n\t\t\tbyStart: { writable: true, value: {} },\n\t\t\tbyEnd: { writable: true, value: {} },\n\t\t\tfilename: { writable: true, value: options.filename },\n\t\t\tindentExclusionRanges: { writable: true, value: options.indentExclusionRanges },\n\t\t\tsourcemapLocations: { writable: true, value: new BitSet() },\n\t\t\tstoredNames: { writable: true, value: {} },\n\t\t\tindentStr: { writable: true, value: undefined },\n\t\t\tignoreList: { writable: true, value: options.ignoreList },\n\t\t\toffset: { writable: true, value: options.offset || 0 },\n\t\t});\n\n\t\tif (DEBUG) {\n\t\t\tObject.defineProperty(this, 'stats', { value: new Stats() });\n\t\t}\n\n\t\tthis.byStart[0] = chunk;\n\t\tthis.byEnd[string.length] = chunk;\n\t}\n\n\taddSourcemapLocation(char) {\n\t\tthis.sourcemapLocations.add(char);\n\t}\n\n\tappend(content) {\n\t\tif (typeof content !== 'string') throw new TypeError('outro content must be a string');\n\n\t\tthis.outro += content;\n\t\treturn this;\n\t}\n\n\tappendLeft(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tif (DEBUG) this.stats.time('appendLeft');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byEnd[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.appendLeft(content);\n\t\t} else {\n\t\t\tthis.intro += content;\n\t\t}\n\n\t\tif (DEBUG) this.stats.timeEnd('appendLeft');\n\t\treturn this;\n\t}\n\n\tappendRight(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tif (DEBUG) this.stats.time('appendRight');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byStart[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.appendRight(content);\n\t\t} else {\n\t\t\tthis.outro += content;\n\t\t}\n\n\t\tif (DEBUG) this.stats.timeEnd('appendRight');\n\t\treturn this;\n\t}\n\n\tclone() {\n\t\tconst cloned = new MagicString(this.original, { filename: this.filename, offset: this.offset });\n\n\t\tlet originalChunk = this.firstChunk;\n\t\tlet clonedChunk = (cloned.firstChunk = cloned.lastSearchedChunk = originalChunk.clone());\n\n\t\twhile (originalChunk) {\n\t\t\tcloned.byStart[clonedChunk.start] = clonedChunk;\n\t\t\tcloned.byEnd[clonedChunk.end] = clonedChunk;\n\n\t\t\tconst nextOriginalChunk = originalChunk.next;\n\t\t\tconst nextClonedChunk = nextOriginalChunk && nextOriginalChunk.clone();\n\n\t\t\tif (nextClonedChunk) {\n\t\t\t\tclonedChunk.next = nextClonedChunk;\n\t\t\t\tnextClonedChunk.previous = clonedChunk;\n\n\t\t\t\tclonedChunk = nextClonedChunk;\n\t\t\t}\n\n\t\t\toriginalChunk = nextOriginalChunk;\n\t\t}\n\n\t\tcloned.lastChunk = clonedChunk;\n\n\t\tif (this.indentExclusionRanges) {\n\t\t\tcloned.indentExclusionRanges = this.indentExclusionRanges.slice();\n\t\t}\n\n\t\tcloned.sourcemapLocations = new BitSet(this.sourcemapLocations);\n\n\t\tcloned.intro = this.intro;\n\t\tcloned.outro = this.outro;\n\n\t\treturn cloned;\n\t}\n\n\tgenerateDecodedMap(options) {\n\t\toptions = options || {};\n\n\t\tconst sourceIndex = 0;\n\t\tconst names = Object.keys(this.storedNames);\n\t\tconst mappings = new Mappings(options.hires);\n\n\t\tconst locate = getLocator(this.original);\n\n\t\tif (this.intro) {\n\t\t\tmappings.advance(this.intro);\n\t\t}\n\n\t\tthis.firstChunk.eachNext((chunk) => {\n\t\t\tconst loc = locate(chunk.start);\n\n\t\t\tif (chunk.intro.length) mappings.advance(chunk.intro);\n\n\t\t\tif (chunk.edited) {\n\t\t\t\tmappings.addEdit(\n\t\t\t\t\tsourceIndex,\n\t\t\t\t\tchunk.content,\n\t\t\t\t\tloc,\n\t\t\t\t\tchunk.storeName ? names.indexOf(chunk.original) : -1,\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tmappings.addUneditedChunk(sourceIndex, chunk, this.original, loc, this.sourcemapLocations);\n\t\t\t}\n\n\t\t\tif (chunk.outro.length) mappings.advance(chunk.outro);\n\t\t});\n\n\t\treturn {\n\t\t\tfile: options.file ? options.file.split(/[/\\\\]/).pop() : undefined,\n\t\t\tsources: [\n\t\t\t\toptions.source ? getRelativePath(options.file || '', options.source) : options.file || '',\n\t\t\t],\n\t\t\tsourcesContent: options.includeContent ? [this.original] : undefined,\n\t\t\tnames,\n\t\t\tmappings: mappings.raw,\n\t\t\tx_google_ignoreList: this.ignoreList ? [sourceIndex] : undefined,\n\t\t};\n\t}\n\n\tgenerateMap(options) {\n\t\treturn new SourceMap(this.generateDecodedMap(options));\n\t}\n\n\t_ensureindentStr() {\n\t\tif (this.indentStr === undefined) {\n\t\t\tthis.indentStr = guessIndent(this.original);\n\t\t}\n\t}\n\n\t_getRawIndentString() {\n\t\tthis._ensureindentStr();\n\t\treturn this.indentStr;\n\t}\n\n\tgetIndentString() {\n\t\tthis._ensureindentStr();\n\t\treturn this.indentStr === null ? '\\t' : this.indentStr;\n\t}\n\n\tindent(indentStr, options) {\n\t\tconst pattern = /^[^\\r\\n]/gm;\n\n\t\tif (isObject(indentStr)) {\n\t\t\toptions = indentStr;\n\t\t\tindentStr = undefined;\n\t\t}\n\n\t\tif (indentStr === undefined) {\n\t\t\tthis._ensureindentStr();\n\t\t\tindentStr = this.indentStr || '\\t';\n\t\t}\n\n\t\tif (indentStr === '') return this; // noop\n\n\t\toptions = options || {};\n\n\t\t// Process exclusion ranges\n\t\tconst isExcluded = {};\n\n\t\tif (options.exclude) {\n\t\t\tconst exclusions =\n\t\t\t\ttypeof options.exclude[0] === 'number' ? [options.exclude] : options.exclude;\n\t\t\texclusions.forEach((exclusion) => {\n\t\t\t\tfor (let i = exclusion[0]; i < exclusion[1]; i += 1) {\n\t\t\t\t\tisExcluded[i] = true;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tlet shouldIndentNextCharacter = options.indentStart !== false;\n\t\tconst replacer = (match) => {\n\t\t\tif (shouldIndentNextCharacter) return `${indentStr}${match}`;\n\t\t\tshouldIndentNextCharacter = true;\n\t\t\treturn match;\n\t\t};\n\n\t\tthis.intro = this.intro.replace(pattern, replacer);\n\n\t\tlet charIndex = 0;\n\t\tlet chunk = this.firstChunk;\n\n\t\twhile (chunk) {\n\t\t\tconst end = chunk.end;\n\n\t\t\tif (chunk.edited) {\n\t\t\t\tif (!isExcluded[charIndex]) {\n\t\t\t\t\tchunk.content = chunk.content.replace(pattern, replacer);\n\n\t\t\t\t\tif (chunk.content.length) {\n\t\t\t\t\t\tshouldIndentNextCharacter = chunk.content[chunk.content.length - 1] === '\\n';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcharIndex = chunk.start;\n\n\t\t\t\twhile (charIndex < end) {\n\t\t\t\t\tif (!isExcluded[charIndex]) {\n\t\t\t\t\t\tconst char = this.original[charIndex];\n\n\t\t\t\t\t\tif (char === '\\n') {\n\t\t\t\t\t\t\tshouldIndentNextCharacter = true;\n\t\t\t\t\t\t} else if (char !== '\\r' && shouldIndentNextCharacter) {\n\t\t\t\t\t\t\tshouldIndentNextCharacter = false;\n\n\t\t\t\t\t\t\tif (charIndex === chunk.start) {\n\t\t\t\t\t\t\t\tchunk.prependRight(indentStr);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis._splitChunk(chunk, charIndex);\n\t\t\t\t\t\t\t\tchunk = chunk.next;\n\t\t\t\t\t\t\t\tchunk.prependRight(indentStr);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tcharIndex += 1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcharIndex = chunk.end;\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\tthis.outro = this.outro.replace(pattern, replacer);\n\n\t\treturn this;\n\t}\n\n\tinsert() {\n\t\tthrow new Error(\n\t\t\t'magicString.insert(...) is deprecated. Use prependRight(...) or appendLeft(...)',\n\t\t);\n\t}\n\n\tinsertLeft(index, content) {\n\t\tif (!warned.insertLeft) {\n\t\t\tconsole.warn(\n\t\t\t\t'magicString.insertLeft(...) is deprecated. Use magicString.appendLeft(...) instead',\n\t\t\t);\n\t\t\twarned.insertLeft = true;\n\t\t}\n\n\t\treturn this.appendLeft(index, content);\n\t}\n\n\tinsertRight(index, content) {\n\t\tif (!warned.insertRight) {\n\t\t\tconsole.warn(\n\t\t\t\t'magicString.insertRight(...) is deprecated. Use magicString.prependRight(...) instead',\n\t\t\t);\n\t\t\twarned.insertRight = true;\n\t\t}\n\n\t\treturn this.prependRight(index, content);\n\t}\n\n\tmove(start, end, index) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\t\tindex = index + this.offset;\n\n\t\tif (index >= start && index <= end) throw new Error('Cannot move a selection inside itself');\n\n\t\tif (DEBUG) this.stats.time('move');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\t\tthis._split(index);\n\n\t\tconst first = this.byStart[start];\n\t\tconst last = this.byEnd[end];\n\n\t\tconst oldLeft = first.previous;\n\t\tconst oldRight = last.next;\n\n\t\tconst newRight = this.byStart[index];\n\t\tif (!newRight && last === this.lastChunk) return this;\n\t\tconst newLeft = newRight ? newRight.previous : this.lastChunk;\n\n\t\tif (oldLeft) oldLeft.next = oldRight;\n\t\tif (oldRight) oldRight.previous = oldLeft;\n\n\t\tif (newLeft) newLeft.next = first;\n\t\tif (newRight) newRight.previous = last;\n\n\t\tif (!first.previous) this.firstChunk = last.next;\n\t\tif (!last.next) {\n\t\t\tthis.lastChunk = first.previous;\n\t\t\tthis.lastChunk.next = null;\n\t\t}\n\n\t\tfirst.previous = newLeft;\n\t\tlast.next = newRight || null;\n\n\t\tif (!newLeft) this.firstChunk = first;\n\t\tif (!newRight) this.lastChunk = last;\n\n\t\tif (DEBUG) this.stats.timeEnd('move');\n\t\treturn this;\n\t}\n\n\toverwrite(start, end, content, options) {\n\t\toptions = options || {};\n\t\treturn this.update(start, end, content, { ...options, overwrite: !options.contentOnly });\n\t}\n\n\tupdate(start, end, content, options) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('replacement content must be a string');\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (end > this.original.length) throw new Error('end is out of bounds');\n\t\tif (start === end)\n\t\t\tthrow new Error(\n\t\t\t\t'Cannot overwrite a zero-length range – use appendLeft or prependRight instead',\n\t\t\t);\n\n\t\tif (DEBUG) this.stats.time('overwrite');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tif (options === true) {\n\t\t\tif (!warned.storeName) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t'The final argument to magicString.overwrite(...) should be an options object. See https://github.com/rich-harris/magic-string',\n\t\t\t\t);\n\t\t\t\twarned.storeName = true;\n\t\t\t}\n\n\t\t\toptions = { storeName: true };\n\t\t}\n\t\tconst storeName = options !== undefined ? options.storeName : false;\n\t\tconst overwrite = options !== undefined ? options.overwrite : false;\n\n\t\tif (storeName) {\n\t\t\tconst original = this.original.slice(start, end);\n\t\t\tObject.defineProperty(this.storedNames, original, {\n\t\t\t\twritable: true,\n\t\t\t\tvalue: true,\n\t\t\t\tenumerable: true,\n\t\t\t});\n\t\t}\n\n\t\tconst first = this.byStart[start];\n\t\tconst last = this.byEnd[end];\n\n\t\tif (first) {\n\t\t\tlet chunk = first;\n\t\t\twhile (chunk !== last) {\n\t\t\t\tif (chunk.next !== this.byStart[chunk.end]) {\n\t\t\t\t\tthrow new Error('Cannot overwrite across a split point');\n\t\t\t\t}\n\t\t\t\tchunk = chunk.next;\n\t\t\t\tchunk.edit('', false);\n\t\t\t}\n\n\t\t\tfirst.edit(content, storeName, !overwrite);\n\t\t} else {\n\t\t\t// must be inserting at the end\n\t\t\tconst newChunk = new Chunk(start, end, '').edit(content, storeName);\n\n\t\t\t// TODO last chunk in the array may not be the last chunk, if it's moved...\n\t\t\tlast.next = newChunk;\n\t\t\tnewChunk.previous = last;\n\t\t}\n\n\t\tif (DEBUG) this.stats.timeEnd('overwrite');\n\t\treturn this;\n\t}\n\n\tprepend(content) {\n\t\tif (typeof content !== 'string') throw new TypeError('outro content must be a string');\n\n\t\tthis.intro = content + this.intro;\n\t\treturn this;\n\t}\n\n\tprependLeft(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tif (DEBUG) this.stats.time('insertRight');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byEnd[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.prependLeft(content);\n\t\t} else {\n\t\t\tthis.intro = content + this.intro;\n\t\t}\n\n\t\tif (DEBUG) this.stats.timeEnd('insertRight');\n\t\treturn this;\n\t}\n\n\tprependRight(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tif (DEBUG) this.stats.time('insertRight');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byStart[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.prependRight(content);\n\t\t} else {\n\t\t\tthis.outro = content + this.outro;\n\t\t}\n\n\t\tif (DEBUG) this.stats.timeEnd('insertRight');\n\t\treturn this;\n\t}\n\n\tremove(start, end) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (start === end) return this;\n\n\t\tif (start < 0 || end > this.original.length) throw new Error('Character is out of bounds');\n\t\tif (start > end) throw new Error('end must be greater than start');\n\n\t\tif (DEBUG) this.stats.time('remove');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tlet chunk = this.byStart[start];\n\n\t\twhile (chunk) {\n\t\t\tchunk.intro = '';\n\t\t\tchunk.outro = '';\n\t\t\tchunk.edit('');\n\n\t\t\tchunk = end > chunk.end ? this.byStart[chunk.end] : null;\n\t\t}\n\n\t\tif (DEBUG) this.stats.timeEnd('remove');\n\t\treturn this;\n\t}\n\n\treset(start, end) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (start === end) return this;\n\n\t\tif (start < 0 || end > this.original.length) throw new Error('Character is out of bounds');\n\t\tif (start > end) throw new Error('end must be greater than start');\n\n\t\tif (DEBUG) this.stats.time('reset');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tlet chunk = this.byStart[start];\n\n\t\twhile (chunk) {\n\t\t\tchunk.reset();\n\n\t\t\tchunk = end > chunk.end ? this.byStart[chunk.end] : null;\n\t\t}\n\n\t\tif (DEBUG) this.stats.timeEnd('reset');\n\t\treturn this;\n\t}\n\n\tlastChar() {\n\t\tif (this.outro.length) return this.outro[this.outro.length - 1];\n\t\tlet chunk = this.lastChunk;\n\t\tdo {\n\t\t\tif (chunk.outro.length) return chunk.outro[chunk.outro.length - 1];\n\t\t\tif (chunk.content.length) return chunk.content[chunk.content.length - 1];\n\t\t\tif (chunk.intro.length) return chunk.intro[chunk.intro.length - 1];\n\t\t} while ((chunk = chunk.previous));\n\t\tif (this.intro.length) return this.intro[this.intro.length - 1];\n\t\treturn '';\n\t}\n\n\tlastLine() {\n\t\tlet lineIndex = this.outro.lastIndexOf(n);\n\t\tif (lineIndex !== -1) return this.outro.substr(lineIndex + 1);\n\t\tlet lineStr = this.outro;\n\t\tlet chunk = this.lastChunk;\n\t\tdo {\n\t\t\tif (chunk.outro.length > 0) {\n\t\t\t\tlineIndex = chunk.outro.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.outro.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.outro + lineStr;\n\t\t\t}\n\n\t\t\tif (chunk.content.length > 0) {\n\t\t\t\tlineIndex = chunk.content.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.content.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.content + lineStr;\n\t\t\t}\n\n\t\t\tif (chunk.intro.length > 0) {\n\t\t\t\tlineIndex = chunk.intro.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.intro.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.intro + lineStr;\n\t\t\t}\n\t\t} while ((chunk = chunk.previous));\n\t\tlineIndex = this.intro.lastIndexOf(n);\n\t\tif (lineIndex !== -1) return this.intro.substr(lineIndex + 1) + lineStr;\n\t\treturn this.intro + lineStr;\n\t}\n\n\tslice(start = 0, end = this.original.length - this.offset) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tlet result = '';\n\n\t\t// find start chunk\n\t\tlet chunk = this.firstChunk;\n\t\twhile (chunk && (chunk.start > start || chunk.end <= start)) {\n\t\t\t// found end chunk before start\n\t\t\tif (chunk.start < end && chunk.end >= end) {\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\tif (chunk && chunk.edited && chunk.start !== start)\n\t\t\tthrow new Error(`Cannot use replaced character ${start} as slice start anchor.`);\n\n\t\tconst startChunk = chunk;\n\t\twhile (chunk) {\n\t\t\tif (chunk.intro && (startChunk !== chunk || chunk.start === start)) {\n\t\t\t\tresult += chunk.intro;\n\t\t\t}\n\n\t\t\tconst containsEnd = chunk.start < end && chunk.end >= end;\n\t\t\tif (containsEnd && chunk.edited && chunk.end !== end)\n\t\t\t\tthrow new Error(`Cannot use replaced character ${end} as slice end anchor.`);\n\n\t\t\tconst sliceStart = startChunk === chunk ? start - chunk.start : 0;\n\t\t\tconst sliceEnd = containsEnd ? chunk.content.length + end - chunk.end : chunk.content.length;\n\n\t\t\tresult += chunk.content.slice(sliceStart, sliceEnd);\n\n\t\t\tif (chunk.outro && (!containsEnd || chunk.end === end)) {\n\t\t\t\tresult += chunk.outro;\n\t\t\t}\n\n\t\t\tif (containsEnd) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t// TODO deprecate this? not really very useful\n\tsnip(start, end) {\n\t\tconst clone = this.clone();\n\t\tclone.remove(0, start);\n\t\tclone.remove(end, clone.original.length);\n\n\t\treturn clone;\n\t}\n\n\t_split(index) {\n\t\tif (this.byStart[index] || this.byEnd[index]) return;\n\n\t\tif (DEBUG) this.stats.time('_split');\n\n\t\tlet chunk = this.lastSearchedChunk;\n\t\tconst searchForward = index > chunk.end;\n\n\t\twhile (chunk) {\n\t\t\tif (chunk.contains(index)) return this._splitChunk(chunk, index);\n\n\t\t\tchunk = searchForward ? this.byStart[chunk.end] : this.byEnd[chunk.start];\n\t\t}\n\t}\n\n\t_splitChunk(chunk, index) {\n\t\tif (chunk.edited && chunk.content.length) {\n\t\t\t// zero-length edited chunks are a special case (overlapping replacements)\n\t\t\tconst loc = getLocator(this.original)(index);\n\t\t\tthrow new Error(\n\t\t\t\t`Cannot split a chunk that has already been edited (${loc.line}:${loc.column} – \"${chunk.original}\")`,\n\t\t\t);\n\t\t}\n\n\t\tconst newChunk = chunk.split(index);\n\n\t\tthis.byEnd[index] = chunk;\n\t\tthis.byStart[index] = newChunk;\n\t\tthis.byEnd[newChunk.end] = newChunk;\n\n\t\tif (chunk === this.lastChunk) this.lastChunk = newChunk;\n\n\t\tthis.lastSearchedChunk = chunk;\n\t\tif (DEBUG) this.stats.timeEnd('_split');\n\t\treturn true;\n\t}\n\n\ttoString() {\n\t\tlet str = this.intro;\n\n\t\tlet chunk = this.firstChunk;\n\t\twhile (chunk) {\n\t\t\tstr += chunk.toString();\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\treturn str + this.outro;\n\t}\n\n\tisEmpty() {\n\t\tlet chunk = this.firstChunk;\n\t\tdo {\n\t\t\tif (\n\t\t\t\t(chunk.intro.length && chunk.intro.trim()) ||\n\t\t\t\t(chunk.content.length && chunk.content.trim()) ||\n\t\t\t\t(chunk.outro.length && chunk.outro.trim())\n\t\t\t)\n\t\t\t\treturn false;\n\t\t} while ((chunk = chunk.next));\n\t\treturn true;\n\t}\n\n\tlength() {\n\t\tlet chunk = this.firstChunk;\n\t\tlet length = 0;\n\t\tdo {\n\t\t\tlength += chunk.intro.length + chunk.content.length + chunk.outro.length;\n\t\t} while ((chunk = chunk.next));\n\t\treturn length;\n\t}\n\n\ttrimLines() {\n\t\treturn this.trim('[\\\\r\\\\n]');\n\t}\n\n\ttrim(charType) {\n\t\treturn this.trimStart(charType).trimEnd(charType);\n\t}\n\n\ttrimEndAborted(charType) {\n\t\tconst rx = new RegExp((charType || '\\\\s') + '+$');\n\n\t\tthis.outro = this.outro.replace(rx, '');\n\t\tif (this.outro.length) return true;\n\n\t\tlet chunk = this.lastChunk;\n\n\t\tdo {\n\t\t\tconst end = chunk.end;\n\t\t\tconst aborted = chunk.trimEnd(rx);\n\n\t\t\t// if chunk was trimmed, we have a new lastChunk\n\t\t\tif (chunk.end !== end) {\n\t\t\t\tif (this.lastChunk === chunk) {\n\t\t\t\t\tthis.lastChunk = chunk.next;\n\t\t\t\t}\n\n\t\t\t\tthis.byEnd[chunk.end] = chunk;\n\t\t\t\tthis.byStart[chunk.next.start] = chunk.next;\n\t\t\t\tthis.byEnd[chunk.next.end] = chunk.next;\n\t\t\t}\n\n\t\t\tif (aborted) return true;\n\t\t\tchunk = chunk.previous;\n\t\t} while (chunk);\n\n\t\treturn false;\n\t}\n\n\ttrimEnd(charType) {\n\t\tthis.trimEndAborted(charType);\n\t\treturn this;\n\t}\n\ttrimStartAborted(charType) {\n\t\tconst rx = new RegExp('^' + (charType || '\\\\s') + '+');\n\n\t\tthis.intro = this.intro.replace(rx, '');\n\t\tif (this.intro.length) return true;\n\n\t\tlet chunk = this.firstChunk;\n\n\t\tdo {\n\t\t\tconst end = chunk.end;\n\t\t\tconst aborted = chunk.trimStart(rx);\n\n\t\t\tif (chunk.end !== end) {\n\t\t\t\t// special case...\n\t\t\t\tif (chunk === this.lastChunk) this.lastChunk = chunk.next;\n\n\t\t\t\tthis.byEnd[chunk.end] = chunk;\n\t\t\t\tthis.byStart[chunk.next.start] = chunk.next;\n\t\t\t\tthis.byEnd[chunk.next.end] = chunk.next;\n\t\t\t}\n\n\t\t\tif (aborted) return true;\n\t\t\tchunk = chunk.next;\n\t\t} while (chunk);\n\n\t\treturn false;\n\t}\n\n\ttrimStart(charType) {\n\t\tthis.trimStartAborted(charType);\n\t\treturn this;\n\t}\n\n\thasChanged() {\n\t\treturn this.original !== this.toString();\n\t}\n\n\t_replaceRegexp(searchValue, replacement) {\n\t\tfunction getReplacement(match, str) {\n\t\t\tif (typeof replacement === 'string') {\n\t\t\t\treturn replacement.replace(/\\$(\\$|&|\\d+)/g, (_, i) => {\n\t\t\t\t\t// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#specifying_a_string_as_a_parameter\n\t\t\t\t\tif (i === '$') return '$';\n\t\t\t\t\tif (i === '&') return match[0];\n\t\t\t\t\tconst num = +i;\n\t\t\t\t\tif (num < match.length) return match[+i];\n\t\t\t\t\treturn `$${i}`;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn replacement(...match, match.index, str, match.groups);\n\t\t\t}\n\t\t}\n\t\tfunction matchAll(re, str) {\n\t\t\tlet match;\n\t\t\tconst matches = [];\n\t\t\twhile ((match = re.exec(str))) {\n\t\t\t\tmatches.push(match);\n\t\t\t}\n\t\t\treturn matches;\n\t\t}\n\t\tif (searchValue.global) {\n\t\t\tconst matches = matchAll(searchValue, this.original);\n\t\t\tmatches.forEach((match) => {\n\t\t\t\tif (match.index != null) {\n\t\t\t\t\tconst replacement = getReplacement(match, this.original);\n\t\t\t\t\tif (replacement !== match[0]) {\n\t\t\t\t\t\tthis.overwrite(match.index, match.index + match[0].length, replacement);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tconst match = this.original.match(searchValue);\n\t\t\tif (match && match.index != null) {\n\t\t\t\tconst replacement = getReplacement(match, this.original);\n\t\t\t\tif (replacement !== match[0]) {\n\t\t\t\t\tthis.overwrite(match.index, match.index + match[0].length, replacement);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\t_replaceString(string, replacement) {\n\t\tconst { original } = this;\n\t\tconst index = original.indexOf(string);\n\n\t\tif (index !== -1) {\n\t\t\tthis.overwrite(index, index + string.length, replacement);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\treplace(searchValue, replacement) {\n\t\tif (typeof searchValue === 'string') {\n\t\t\treturn this._replaceString(searchValue, replacement);\n\t\t}\n\n\t\treturn this._replaceRegexp(searchValue, replacement);\n\t}\n\n\t_replaceAllString(string, replacement) {\n\t\tconst { original } = this;\n\t\tconst stringLength = string.length;\n\t\tfor (\n\t\t\tlet index = original.indexOf(string);\n\t\t\tindex !== -1;\n\t\t\tindex = original.indexOf(string, index + stringLength)\n\t\t) {\n\t\t\tconst previous = original.slice(index, index + stringLength);\n\t\t\tif (previous !== replacement) this.overwrite(index, index + stringLength, replacement);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\treplaceAll(searchValue, replacement) {\n\t\tif (typeof searchValue === 'string') {\n\t\t\treturn this._replaceAllString(searchValue, replacement);\n\t\t}\n\n\t\tif (!searchValue.global) {\n\t\t\tthrow new TypeError(\n\t\t\t\t'MagicString.prototype.replaceAll called with a non-global RegExp argument',\n\t\t\t);\n\t\t}\n\n\t\treturn this._replaceRegexp(searchValue, replacement);\n\t}\n}\n","import MagicString from './MagicString.js';\nimport SourceMap from './SourceMap.js';\nimport getRelativePath from './utils/getRelativePath.js';\nimport isObject from './utils/isObject.js';\nimport getLocator from './utils/getLocator.js';\nimport Mappings from './utils/Mappings.js';\n\nconst hasOwnProp = Object.prototype.hasOwnProperty;\n\nexport default class Bundle {\n\tconstructor(options = {}) {\n\t\tthis.intro = options.intro || '';\n\t\tthis.separator = options.separator !== undefined ? options.separator : '\\n';\n\t\tthis.sources = [];\n\t\tthis.uniqueSources = [];\n\t\tthis.uniqueSourceIndexByFilename = {};\n\t}\n\n\taddSource(source) {\n\t\tif (source instanceof MagicString) {\n\t\t\treturn this.addSource({\n\t\t\t\tcontent: source,\n\t\t\t\tfilename: source.filename,\n\t\t\t\tseparator: this.separator,\n\t\t\t});\n\t\t}\n\n\t\tif (!isObject(source) || !source.content) {\n\t\t\tthrow new Error(\n\t\t\t\t'bundle.addSource() takes an object with a `content` property, which should be an instance of MagicString, and an optional `filename`',\n\t\t\t);\n\t\t}\n\n\t\t['filename', 'ignoreList', 'indentExclusionRanges', 'separator'].forEach((option) => {\n\t\t\tif (!hasOwnProp.call(source, option)) source[option] = source.content[option];\n\t\t});\n\n\t\tif (source.separator === undefined) {\n\t\t\t// TODO there's a bunch of this sort of thing, needs cleaning up\n\t\t\tsource.separator = this.separator;\n\t\t}\n\n\t\tif (source.filename) {\n\t\t\tif (!hasOwnProp.call(this.uniqueSourceIndexByFilename, source.filename)) {\n\t\t\t\tthis.uniqueSourceIndexByFilename[source.filename] = this.uniqueSources.length;\n\t\t\t\tthis.uniqueSources.push({ filename: source.filename, content: source.content.original });\n\t\t\t} else {\n\t\t\t\tconst uniqueSource = this.uniqueSources[this.uniqueSourceIndexByFilename[source.filename]];\n\t\t\t\tif (source.content.original !== uniqueSource.content) {\n\t\t\t\t\tthrow new Error(`Illegal source: same filename (${source.filename}), different contents`);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.sources.push(source);\n\t\treturn this;\n\t}\n\n\tappend(str, options) {\n\t\tthis.addSource({\n\t\t\tcontent: new MagicString(str),\n\t\t\tseparator: (options && options.separator) || '',\n\t\t});\n\n\t\treturn this;\n\t}\n\n\tclone() {\n\t\tconst bundle = new Bundle({\n\t\t\tintro: this.intro,\n\t\t\tseparator: this.separator,\n\t\t});\n\n\t\tthis.sources.forEach((source) => {\n\t\t\tbundle.addSource({\n\t\t\t\tfilename: source.filename,\n\t\t\t\tcontent: source.content.clone(),\n\t\t\t\tseparator: source.separator,\n\t\t\t});\n\t\t});\n\n\t\treturn bundle;\n\t}\n\n\tgenerateDecodedMap(options = {}) {\n\t\tconst names = [];\n\t\tlet x_google_ignoreList = undefined;\n\t\tthis.sources.forEach((source) => {\n\t\t\tObject.keys(source.content.storedNames).forEach((name) => {\n\t\t\t\tif (!~names.indexOf(name)) names.push(name);\n\t\t\t});\n\t\t});\n\n\t\tconst mappings = new Mappings(options.hires);\n\n\t\tif (this.intro) {\n\t\t\tmappings.advance(this.intro);\n\t\t}\n\n\t\tthis.sources.forEach((source, i) => {\n\t\t\tif (i > 0) {\n\t\t\t\tmappings.advance(this.separator);\n\t\t\t}\n\n\t\t\tconst sourceIndex = source.filename ? this.uniqueSourceIndexByFilename[source.filename] : -1;\n\t\t\tconst magicString = source.content;\n\t\t\tconst locate = getLocator(magicString.original);\n\n\t\t\tif (magicString.intro) {\n\t\t\t\tmappings.advance(magicString.intro);\n\t\t\t}\n\n\t\t\tmagicString.firstChunk.eachNext((chunk) => {\n\t\t\t\tconst loc = locate(chunk.start);\n\n\t\t\t\tif (chunk.intro.length) mappings.advance(chunk.intro);\n\n\t\t\t\tif (source.filename) {\n\t\t\t\t\tif (chunk.edited) {\n\t\t\t\t\t\tmappings.addEdit(\n\t\t\t\t\t\t\tsourceIndex,\n\t\t\t\t\t\t\tchunk.content,\n\t\t\t\t\t\t\tloc,\n\t\t\t\t\t\t\tchunk.storeName ? names.indexOf(chunk.original) : -1,\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmappings.addUneditedChunk(\n\t\t\t\t\t\t\tsourceIndex,\n\t\t\t\t\t\t\tchunk,\n\t\t\t\t\t\t\tmagicString.original,\n\t\t\t\t\t\t\tloc,\n\t\t\t\t\t\t\tmagicString.sourcemapLocations,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tmappings.advance(chunk.content);\n\t\t\t\t}\n\n\t\t\t\tif (chunk.outro.length) mappings.advance(chunk.outro);\n\t\t\t});\n\n\t\t\tif (magicString.outro) {\n\t\t\t\tmappings.advance(magicString.outro);\n\t\t\t}\n\n\t\t\tif (source.ignoreList && sourceIndex !== -1) {\n\t\t\t\tif (x_google_ignoreList === undefined) {\n\t\t\t\t\tx_google_ignoreList = [];\n\t\t\t\t}\n\t\t\t\tx_google_ignoreList.push(sourceIndex);\n\t\t\t}\n\t\t});\n\n\t\treturn {\n\t\t\tfile: options.file ? options.file.split(/[/\\\\]/).pop() : undefined,\n\t\t\tsources: this.uniqueSources.map((source) => {\n\t\t\t\treturn options.file ? getRelativePath(options.file, source.filename) : source.filename;\n\t\t\t}),\n\t\t\tsourcesContent: this.uniqueSources.map((source) => {\n\t\t\t\treturn options.includeContent ? source.content : null;\n\t\t\t}),\n\t\t\tnames,\n\t\t\tmappings: mappings.raw,\n\t\t\tx_google_ignoreList,\n\t\t};\n\t}\n\n\tgenerateMap(options) {\n\t\treturn new SourceMap(this.generateDecodedMap(options));\n\t}\n\n\tgetIndentString() {\n\t\tconst indentStringCounts = {};\n\n\t\tthis.sources.forEach((source) => {\n\t\t\tconst indentStr = source.content._getRawIndentString();\n\n\t\t\tif (indentStr === null) return;\n\n\t\t\tif (!indentStringCounts[indentStr]) indentStringCounts[indentStr] = 0;\n\t\t\tindentStringCounts[indentStr] += 1;\n\t\t});\n\n\t\treturn (\n\t\t\tObject.keys(indentStringCounts).sort((a, b) => {\n\t\t\t\treturn indentStringCounts[a] - indentStringCounts[b];\n\t\t\t})[0] || '\\t'\n\t\t);\n\t}\n\n\tindent(indentStr) {\n\t\tif (!arguments.length) {\n\t\t\tindentStr = this.getIndentString();\n\t\t}\n\n\t\tif (indentStr === '') return this; // noop\n\n\t\tlet trailingNewline = !this.intro || this.intro.slice(-1) === '\\n';\n\n\t\tthis.sources.forEach((source, i) => {\n\t\t\tconst separator = source.separator !== undefined ? source.separator : this.separator;\n\t\t\tconst indentStart = trailingNewline || (i > 0 && /\\r?\\n$/.test(separator));\n\n\t\t\tsource.content.indent(indentStr, {\n\t\t\t\texclude: source.indentExclusionRanges,\n\t\t\t\tindentStart, //: trailingNewline || /\\r?\\n$/.test( separator ) //true///\\r?\\n/.test( separator )\n\t\t\t});\n\n\t\t\ttrailingNewline = source.content.lastChar() === '\\n';\n\t\t});\n\n\t\tif (this.intro) {\n\t\t\tthis.intro =\n\t\t\t\tindentStr +\n\t\t\t\tthis.intro.replace(/^[^\\n]/gm, (match, index) => {\n\t\t\t\t\treturn index > 0 ? indentStr + match : match;\n\t\t\t\t});\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tprepend(str) {\n\t\tthis.intro = str + this.intro;\n\t\treturn this;\n\t}\n\n\ttoString() {\n\t\tconst body = this.sources\n\t\t\t.map((source, i) => {\n\t\t\t\tconst separator = source.separator !== undefined ? source.separator : this.separator;\n\t\t\t\tconst str = (i > 0 ? separator : '') + source.content.toString();\n\n\t\t\t\treturn str;\n\t\t\t})\n\t\t\t.join('');\n\n\t\treturn this.intro + body;\n\t}\n\n\tisEmpty() {\n\t\tif (this.intro.length && this.intro.trim()) return false;\n\t\tif (this.sources.some((source) => !source.content.isEmpty())) return false;\n\t\treturn true;\n\t}\n\n\tlength() {\n\t\treturn this.sources.reduce(\n\t\t\t(length, source) => length + source.content.length(),\n\t\t\tthis.intro.length,\n\t\t);\n\t}\n\n\ttrimLines() {\n\t\treturn this.trim('[\\\\r\\\\n]');\n\t}\n\n\ttrim(charType) {\n\t\treturn this.trimStart(charType).trimEnd(charType);\n\t}\n\n\ttrimStart(charType) {\n\t\tconst rx = new RegExp('^' + (charType || '\\\\s') + '+');\n\t\tthis.intro = this.intro.replace(rx, '');\n\n\t\tif (!this.intro) {\n\t\t\tlet source;\n\t\t\tlet i = 0;\n\n\t\t\tdo {\n\t\t\t\tsource = this.sources[i++];\n\t\t\t\tif (!source) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} while (!source.content.trimStartAborted(charType));\n\t\t}\n\n\t\treturn this;\n\t}\n\n\ttrimEnd(charType) {\n\t\tconst rx = new RegExp((charType || '\\\\s') + '+$');\n\n\t\tlet source;\n\t\tlet i = this.sources.length - 1;\n\n\t\tdo {\n\t\t\tsource = this.sources[i--];\n\t\t\tif (!source) {\n\t\t\t\tthis.intro = this.intro.replace(rx, '');\n\t\t\t\tbreak;\n\t\t\t}\n\t\t} while (!source.content.trimEndAborted(charType));\n\n\t\treturn this;\n\t}\n}\n"]}
1
+ {"version":3,"sources":["../../../node_modules/.pnpm/@jridgewell+sourcemap-codec@1.5.5/node_modules/@jridgewell/sourcemap-codec/src/vlq.ts","../../../node_modules/.pnpm/@jridgewell+sourcemap-codec@1.5.5/node_modules/@jridgewell/sourcemap-codec/src/strings.ts","../../../node_modules/.pnpm/@jridgewell+sourcemap-codec@1.5.5/node_modules/@jridgewell/sourcemap-codec/src/sourcemap-codec.ts","../../../node_modules/.pnpm/magic-string@0.30.17/node_modules/magic-string/src/BitSet.js","../../../node_modules/.pnpm/magic-string@0.30.17/node_modules/magic-string/src/Chunk.js","../../../node_modules/.pnpm/magic-string@0.30.17/node_modules/magic-string/src/SourceMap.js","../../../node_modules/.pnpm/magic-string@0.30.17/node_modules/magic-string/src/utils/guessIndent.js","../../../node_modules/.pnpm/magic-string@0.30.17/node_modules/magic-string/src/utils/getRelativePath.js","../../../node_modules/.pnpm/magic-string@0.30.17/node_modules/magic-string/src/utils/isObject.js","../../../node_modules/.pnpm/magic-string@0.30.17/node_modules/magic-string/src/utils/getLocator.js","../../../node_modules/.pnpm/magic-string@0.30.17/node_modules/magic-string/src/utils/Mappings.js","../../../node_modules/.pnpm/magic-string@0.30.17/node_modules/magic-string/src/MagicString.js","../../../node_modules/.pnpm/magic-string@0.30.17/node_modules/magic-string/src/Bundle.js"],"names":["__name","n","segment","replacement"],"mappings":"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","file":"AMF2EES3.cjs","sourcesContent":["import type { StringReader, StringWriter } from './strings';\n\nexport const comma = ','.charCodeAt(0);\nexport const semicolon = ';'.charCodeAt(0);\n\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nconst intToChar = new Uint8Array(64); // 64 possible chars.\nconst charToInt = new Uint8Array(128); // z is 122 in ASCII\n\nfor (let i = 0; i < chars.length; i++) {\n const c = chars.charCodeAt(i);\n intToChar[i] = c;\n charToInt[c] = i;\n}\n\nexport function decodeInteger(reader: StringReader, relative: number): number {\n let value = 0;\n let shift = 0;\n let integer = 0;\n\n do {\n const c = reader.next();\n integer = charToInt[c];\n value |= (integer & 31) << shift;\n shift += 5;\n } while (integer & 32);\n\n const shouldNegate = value & 1;\n value >>>= 1;\n\n if (shouldNegate) {\n value = -0x80000000 | -value;\n }\n\n return relative + value;\n}\n\nexport function encodeInteger(builder: StringWriter, num: number, relative: number): number {\n let delta = num - relative;\n\n delta = delta < 0 ? (-delta << 1) | 1 : delta << 1;\n do {\n let clamped = delta & 0b011111;\n delta >>>= 5;\n if (delta > 0) clamped |= 0b100000;\n builder.write(intToChar[clamped]);\n } while (delta > 0);\n\n return num;\n}\n\nexport function hasMoreVlq(reader: StringReader, max: number) {\n if (reader.pos >= max) return false;\n return reader.peek() !== comma;\n}\n","const bufLength = 1024 * 16;\n\n// Provide a fallback for older environments.\nconst td =\n typeof TextDecoder !== 'undefined'\n ? /* #__PURE__ */ new TextDecoder()\n : typeof Buffer !== 'undefined'\n ? {\n decode(buf: Uint8Array): string {\n const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);\n return out.toString();\n },\n }\n : {\n decode(buf: Uint8Array): string {\n let out = '';\n for (let i = 0; i < buf.length; i++) {\n out += String.fromCharCode(buf[i]);\n }\n return out;\n },\n };\n\nexport class StringWriter {\n pos = 0;\n private out = '';\n private buffer = new Uint8Array(bufLength);\n\n write(v: number): void {\n const { buffer } = this;\n buffer[this.pos++] = v;\n if (this.pos === bufLength) {\n this.out += td.decode(buffer);\n this.pos = 0;\n }\n }\n\n flush(): string {\n const { buffer, out, pos } = this;\n return pos > 0 ? out + td.decode(buffer.subarray(0, pos)) : out;\n }\n}\n\nexport class StringReader {\n pos = 0;\n declare private buffer: string;\n\n constructor(buffer: string) {\n this.buffer = buffer;\n }\n\n next(): number {\n return this.buffer.charCodeAt(this.pos++);\n }\n\n peek(): number {\n return this.buffer.charCodeAt(this.pos);\n }\n\n indexOf(char: string): number {\n const { buffer, pos } = this;\n const idx = buffer.indexOf(char, pos);\n return idx === -1 ? buffer.length : idx;\n }\n}\n","import { comma, decodeInteger, encodeInteger, hasMoreVlq, semicolon } from './vlq';\nimport { StringWriter, StringReader } from './strings';\n\nexport {\n decodeOriginalScopes,\n encodeOriginalScopes,\n decodeGeneratedRanges,\n encodeGeneratedRanges,\n} from './scopes';\nexport type { OriginalScope, GeneratedRange, CallSite, BindingExpressionRange } from './scopes';\n\nexport type SourceMapSegment =\n | [number]\n | [number, number, number, number]\n | [number, number, number, number, number];\nexport type SourceMapLine = SourceMapSegment[];\nexport type SourceMapMappings = SourceMapLine[];\n\nexport function decode(mappings: string): SourceMapMappings {\n const { length } = mappings;\n const reader = new StringReader(mappings);\n const decoded: SourceMapMappings = [];\n let genColumn = 0;\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n\n do {\n const semi = reader.indexOf(';');\n const line: SourceMapLine = [];\n let sorted = true;\n let lastCol = 0;\n genColumn = 0;\n\n while (reader.pos < semi) {\n let seg: SourceMapSegment;\n\n genColumn = decodeInteger(reader, genColumn);\n if (genColumn < lastCol) sorted = false;\n lastCol = genColumn;\n\n if (hasMoreVlq(reader, semi)) {\n sourcesIndex = decodeInteger(reader, sourcesIndex);\n sourceLine = decodeInteger(reader, sourceLine);\n sourceColumn = decodeInteger(reader, sourceColumn);\n\n if (hasMoreVlq(reader, semi)) {\n namesIndex = decodeInteger(reader, namesIndex);\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex];\n } else {\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn];\n }\n } else {\n seg = [genColumn];\n }\n\n line.push(seg);\n reader.pos++;\n }\n\n if (!sorted) sort(line);\n decoded.push(line);\n reader.pos = semi + 1;\n } while (reader.pos <= length);\n\n return decoded;\n}\n\nfunction sort(line: SourceMapSegment[]) {\n line.sort(sortComparator);\n}\n\nfunction sortComparator(a: SourceMapSegment, b: SourceMapSegment): number {\n return a[0] - b[0];\n}\n\nexport function encode(decoded: SourceMapMappings): string;\nexport function encode(decoded: Readonly<SourceMapMappings>): string;\nexport function encode(decoded: Readonly<SourceMapMappings>): string {\n const writer = new StringWriter();\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n if (i > 0) writer.write(semicolon);\n if (line.length === 0) continue;\n\n let genColumn = 0;\n\n for (let j = 0; j < line.length; j++) {\n const segment = line[j];\n if (j > 0) writer.write(comma);\n\n genColumn = encodeInteger(writer, segment[0], genColumn);\n\n if (segment.length === 1) continue;\n sourcesIndex = encodeInteger(writer, segment[1], sourcesIndex);\n sourceLine = encodeInteger(writer, segment[2], sourceLine);\n sourceColumn = encodeInteger(writer, segment[3], sourceColumn);\n\n if (segment.length === 4) continue;\n namesIndex = encodeInteger(writer, segment[4], namesIndex);\n }\n }\n\n return writer.flush();\n}\n","export default class BitSet {\n\tconstructor(arg) {\n\t\tthis.bits = arg instanceof BitSet ? arg.bits.slice() : [];\n\t}\n\n\tadd(n) {\n\t\tthis.bits[n >> 5] |= 1 << (n & 31);\n\t}\n\n\thas(n) {\n\t\treturn !!(this.bits[n >> 5] & (1 << (n & 31)));\n\t}\n}\n","export default class Chunk {\n\tconstructor(start, end, content) {\n\t\tthis.start = start;\n\t\tthis.end = end;\n\t\tthis.original = content;\n\n\t\tthis.intro = '';\n\t\tthis.outro = '';\n\n\t\tthis.content = content;\n\t\tthis.storeName = false;\n\t\tthis.edited = false;\n\n\t\tif (DEBUG) {\n\t\t\t// we make these non-enumerable, for sanity while debugging\n\t\t\tObject.defineProperties(this, {\n\t\t\t\tprevious: { writable: true, value: null },\n\t\t\t\tnext: { writable: true, value: null },\n\t\t\t});\n\t\t} else {\n\t\t\tthis.previous = null;\n\t\t\tthis.next = null;\n\t\t}\n\t}\n\n\tappendLeft(content) {\n\t\tthis.outro += content;\n\t}\n\n\tappendRight(content) {\n\t\tthis.intro = this.intro + content;\n\t}\n\n\tclone() {\n\t\tconst chunk = new Chunk(this.start, this.end, this.original);\n\n\t\tchunk.intro = this.intro;\n\t\tchunk.outro = this.outro;\n\t\tchunk.content = this.content;\n\t\tchunk.storeName = this.storeName;\n\t\tchunk.edited = this.edited;\n\n\t\treturn chunk;\n\t}\n\n\tcontains(index) {\n\t\treturn this.start < index && index < this.end;\n\t}\n\n\teachNext(fn) {\n\t\tlet chunk = this;\n\t\twhile (chunk) {\n\t\t\tfn(chunk);\n\t\t\tchunk = chunk.next;\n\t\t}\n\t}\n\n\teachPrevious(fn) {\n\t\tlet chunk = this;\n\t\twhile (chunk) {\n\t\t\tfn(chunk);\n\t\t\tchunk = chunk.previous;\n\t\t}\n\t}\n\n\tedit(content, storeName, contentOnly) {\n\t\tthis.content = content;\n\t\tif (!contentOnly) {\n\t\t\tthis.intro = '';\n\t\t\tthis.outro = '';\n\t\t}\n\t\tthis.storeName = storeName;\n\n\t\tthis.edited = true;\n\n\t\treturn this;\n\t}\n\n\tprependLeft(content) {\n\t\tthis.outro = content + this.outro;\n\t}\n\n\tprependRight(content) {\n\t\tthis.intro = content + this.intro;\n\t}\n\n\treset() {\n\t\tthis.intro = '';\n\t\tthis.outro = '';\n\t\tif (this.edited) {\n\t\t\tthis.content = this.original;\n\t\t\tthis.storeName = false;\n\t\t\tthis.edited = false;\n\t\t}\n\t}\n\n\tsplit(index) {\n\t\tconst sliceIndex = index - this.start;\n\n\t\tconst originalBefore = this.original.slice(0, sliceIndex);\n\t\tconst originalAfter = this.original.slice(sliceIndex);\n\n\t\tthis.original = originalBefore;\n\n\t\tconst newChunk = new Chunk(index, this.end, originalAfter);\n\t\tnewChunk.outro = this.outro;\n\t\tthis.outro = '';\n\n\t\tthis.end = index;\n\n\t\tif (this.edited) {\n\t\t\t// after split we should save the edit content record into the correct chunk\n\t\t\t// to make sure sourcemap correct\n\t\t\t// For example:\n\t\t\t// ' test'.trim()\n\t\t\t// split -> ' ' + 'test'\n\t\t\t// ✔️ edit -> '' + 'test'\n\t\t\t// ✖️ edit -> 'test' + ''\n\t\t\t// TODO is this block necessary?...\n\t\t\tnewChunk.edit('', false);\n\t\t\tthis.content = '';\n\t\t} else {\n\t\t\tthis.content = originalBefore;\n\t\t}\n\n\t\tnewChunk.next = this.next;\n\t\tif (newChunk.next) newChunk.next.previous = newChunk;\n\t\tnewChunk.previous = this;\n\t\tthis.next = newChunk;\n\n\t\treturn newChunk;\n\t}\n\n\ttoString() {\n\t\treturn this.intro + this.content + this.outro;\n\t}\n\n\ttrimEnd(rx) {\n\t\tthis.outro = this.outro.replace(rx, '');\n\t\tif (this.outro.length) return true;\n\n\t\tconst trimmed = this.content.replace(rx, '');\n\n\t\tif (trimmed.length) {\n\t\t\tif (trimmed !== this.content) {\n\t\t\t\tthis.split(this.start + trimmed.length).edit('', undefined, true);\n\t\t\t\tif (this.edited) {\n\t\t\t\t\t// save the change, if it has been edited\n\t\t\t\t\tthis.edit(trimmed, this.storeName, true);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} else {\n\t\t\tthis.edit('', undefined, true);\n\n\t\t\tthis.intro = this.intro.replace(rx, '');\n\t\t\tif (this.intro.length) return true;\n\t\t}\n\t}\n\n\ttrimStart(rx) {\n\t\tthis.intro = this.intro.replace(rx, '');\n\t\tif (this.intro.length) return true;\n\n\t\tconst trimmed = this.content.replace(rx, '');\n\n\t\tif (trimmed.length) {\n\t\t\tif (trimmed !== this.content) {\n\t\t\t\tconst newChunk = this.split(this.end - trimmed.length);\n\t\t\t\tif (this.edited) {\n\t\t\t\t\t// save the change, if it has been edited\n\t\t\t\t\tnewChunk.edit(trimmed, this.storeName, true);\n\t\t\t\t}\n\t\t\t\tthis.edit('', undefined, true);\n\t\t\t}\n\t\t\treturn true;\n\t\t} else {\n\t\t\tthis.edit('', undefined, true);\n\n\t\t\tthis.outro = this.outro.replace(rx, '');\n\t\t\tif (this.outro.length) return true;\n\t\t}\n\t}\n}\n","import { encode } from '@jridgewell/sourcemap-codec';\n\nfunction getBtoa() {\n\tif (typeof globalThis !== 'undefined' && typeof globalThis.btoa === 'function') {\n\t\treturn (str) => globalThis.btoa(unescape(encodeURIComponent(str)));\n\t} else if (typeof Buffer === 'function') {\n\t\treturn (str) => Buffer.from(str, 'utf-8').toString('base64');\n\t} else {\n\t\treturn () => {\n\t\t\tthrow new Error('Unsupported environment: `window.btoa` or `Buffer` should be supported.');\n\t\t};\n\t}\n}\n\nconst btoa = /*#__PURE__*/ getBtoa();\n\nexport default class SourceMap {\n\tconstructor(properties) {\n\t\tthis.version = 3;\n\t\tthis.file = properties.file;\n\t\tthis.sources = properties.sources;\n\t\tthis.sourcesContent = properties.sourcesContent;\n\t\tthis.names = properties.names;\n\t\tthis.mappings = encode(properties.mappings);\n\t\tif (typeof properties.x_google_ignoreList !== 'undefined') {\n\t\t\tthis.x_google_ignoreList = properties.x_google_ignoreList;\n\t\t}\n\t\tif (typeof properties.debugId !== 'undefined') {\n\t\t\tthis.debugId = properties.debugId;\n\t\t}\n\t}\n\n\ttoString() {\n\t\treturn JSON.stringify(this);\n\t}\n\n\ttoUrl() {\n\t\treturn 'data:application/json;charset=utf-8;base64,' + btoa(this.toString());\n\t}\n}\n","export default function guessIndent(code) {\n\tconst lines = code.split('\\n');\n\n\tconst tabbed = lines.filter((line) => /^\\t+/.test(line));\n\tconst spaced = lines.filter((line) => /^ {2,}/.test(line));\n\n\tif (tabbed.length === 0 && spaced.length === 0) {\n\t\treturn null;\n\t}\n\n\t// More lines tabbed than spaced? Assume tabs, and\n\t// default to tabs in the case of a tie (or nothing\n\t// to go on)\n\tif (tabbed.length >= spaced.length) {\n\t\treturn '\\t';\n\t}\n\n\t// Otherwise, we need to guess the multiple\n\tconst min = spaced.reduce((previous, current) => {\n\t\tconst numSpaces = /^ +/.exec(current)[0].length;\n\t\treturn Math.min(numSpaces, previous);\n\t}, Infinity);\n\n\treturn new Array(min + 1).join(' ');\n}\n","export default function getRelativePath(from, to) {\n\tconst fromParts = from.split(/[/\\\\]/);\n\tconst toParts = to.split(/[/\\\\]/);\n\n\tfromParts.pop(); // get dirname\n\n\twhile (fromParts[0] === toParts[0]) {\n\t\tfromParts.shift();\n\t\ttoParts.shift();\n\t}\n\n\tif (fromParts.length) {\n\t\tlet i = fromParts.length;\n\t\twhile (i--) fromParts[i] = '..';\n\t}\n\n\treturn fromParts.concat(toParts).join('/');\n}\n","const toString = Object.prototype.toString;\n\nexport default function isObject(thing) {\n\treturn toString.call(thing) === '[object Object]';\n}\n","export default function getLocator(source) {\n\tconst originalLines = source.split('\\n');\n\tconst lineOffsets = [];\n\n\tfor (let i = 0, pos = 0; i < originalLines.length; i++) {\n\t\tlineOffsets.push(pos);\n\t\tpos += originalLines[i].length + 1;\n\t}\n\n\treturn function locate(index) {\n\t\tlet i = 0;\n\t\tlet j = lineOffsets.length;\n\t\twhile (i < j) {\n\t\t\tconst m = (i + j) >> 1;\n\t\t\tif (index < lineOffsets[m]) {\n\t\t\t\tj = m;\n\t\t\t} else {\n\t\t\t\ti = m + 1;\n\t\t\t}\n\t\t}\n\t\tconst line = i - 1;\n\t\tconst column = index - lineOffsets[line];\n\t\treturn { line, column };\n\t};\n}\n","const wordRegex = /\\w/;\n\nexport default class Mappings {\n\tconstructor(hires) {\n\t\tthis.hires = hires;\n\t\tthis.generatedCodeLine = 0;\n\t\tthis.generatedCodeColumn = 0;\n\t\tthis.raw = [];\n\t\tthis.rawSegments = this.raw[this.generatedCodeLine] = [];\n\t\tthis.pending = null;\n\t}\n\n\taddEdit(sourceIndex, content, loc, nameIndex) {\n\t\tif (content.length) {\n\t\t\tconst contentLengthMinusOne = content.length - 1;\n\t\t\tlet contentLineEnd = content.indexOf('\\n', 0);\n\t\t\tlet previousContentLineEnd = -1;\n\t\t\t// Loop through each line in the content and add a segment, but stop if the last line is empty,\n\t\t\t// else code afterwards would fill one line too many\n\t\t\twhile (contentLineEnd >= 0 && contentLengthMinusOne > contentLineEnd) {\n\t\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\t\t\t\tif (nameIndex >= 0) {\n\t\t\t\t\tsegment.push(nameIndex);\n\t\t\t\t}\n\t\t\t\tthis.rawSegments.push(segment);\n\n\t\t\t\tthis.generatedCodeLine += 1;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t\tthis.generatedCodeColumn = 0;\n\n\t\t\t\tpreviousContentLineEnd = contentLineEnd;\n\t\t\t\tcontentLineEnd = content.indexOf('\\n', contentLineEnd + 1);\n\t\t\t}\n\n\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\t\t\tif (nameIndex >= 0) {\n\t\t\t\tsegment.push(nameIndex);\n\t\t\t}\n\t\t\tthis.rawSegments.push(segment);\n\n\t\t\tthis.advance(content.slice(previousContentLineEnd + 1));\n\t\t} else if (this.pending) {\n\t\t\tthis.rawSegments.push(this.pending);\n\t\t\tthis.advance(content);\n\t\t}\n\n\t\tthis.pending = null;\n\t}\n\n\taddUneditedChunk(sourceIndex, chunk, original, loc, sourcemapLocations) {\n\t\tlet originalCharIndex = chunk.start;\n\t\tlet first = true;\n\t\t// when iterating each char, check if it's in a word boundary\n\t\tlet charInHiresBoundary = false;\n\n\t\twhile (originalCharIndex < chunk.end) {\n\t\t\tif (original[originalCharIndex] === '\\n') {\n\t\t\t\tloc.line += 1;\n\t\t\t\tloc.column = 0;\n\t\t\t\tthis.generatedCodeLine += 1;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t\tthis.generatedCodeColumn = 0;\n\t\t\t\tfirst = true;\n\t\t\t\tcharInHiresBoundary = false;\n\t\t\t} else {\n\t\t\t\tif (this.hires || first || sourcemapLocations.has(originalCharIndex)) {\n\t\t\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\n\t\t\t\t\tif (this.hires === 'boundary') {\n\t\t\t\t\t\t// in hires \"boundary\", group segments per word boundary than per char\n\t\t\t\t\t\tif (wordRegex.test(original[originalCharIndex])) {\n\t\t\t\t\t\t\t// for first char in the boundary found, start the boundary by pushing a segment\n\t\t\t\t\t\t\tif (!charInHiresBoundary) {\n\t\t\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t\t\t\tcharInHiresBoundary = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// for non-word char, end the boundary by pushing a segment\n\t\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t\t\tcharInHiresBoundary = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tloc.column += 1;\n\t\t\t\tthis.generatedCodeColumn += 1;\n\t\t\t\tfirst = false;\n\t\t\t}\n\n\t\t\toriginalCharIndex += 1;\n\t\t}\n\n\t\tthis.pending = null;\n\t}\n\n\tadvance(str) {\n\t\tif (!str) return;\n\n\t\tconst lines = str.split('\\n');\n\n\t\tif (lines.length > 1) {\n\t\t\tfor (let i = 0; i < lines.length - 1; i++) {\n\t\t\t\tthis.generatedCodeLine++;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t}\n\t\t\tthis.generatedCodeColumn = 0;\n\t\t}\n\n\t\tthis.generatedCodeColumn += lines[lines.length - 1].length;\n\t}\n}\n","import BitSet from './BitSet.js';\nimport Chunk from './Chunk.js';\nimport SourceMap from './SourceMap.js';\nimport guessIndent from './utils/guessIndent.js';\nimport getRelativePath from './utils/getRelativePath.js';\nimport isObject from './utils/isObject.js';\nimport getLocator from './utils/getLocator.js';\nimport Mappings from './utils/Mappings.js';\nimport Stats from './utils/Stats.js';\n\nconst n = '\\n';\n\nconst warned = {\n\tinsertLeft: false,\n\tinsertRight: false,\n\tstoreName: false,\n};\n\nexport default class MagicString {\n\tconstructor(string, options = {}) {\n\t\tconst chunk = new Chunk(0, string.length, string);\n\n\t\tObject.defineProperties(this, {\n\t\t\toriginal: { writable: true, value: string },\n\t\t\toutro: { writable: true, value: '' },\n\t\t\tintro: { writable: true, value: '' },\n\t\t\tfirstChunk: { writable: true, value: chunk },\n\t\t\tlastChunk: { writable: true, value: chunk },\n\t\t\tlastSearchedChunk: { writable: true, value: chunk },\n\t\t\tbyStart: { writable: true, value: {} },\n\t\t\tbyEnd: { writable: true, value: {} },\n\t\t\tfilename: { writable: true, value: options.filename },\n\t\t\tindentExclusionRanges: { writable: true, value: options.indentExclusionRanges },\n\t\t\tsourcemapLocations: { writable: true, value: new BitSet() },\n\t\t\tstoredNames: { writable: true, value: {} },\n\t\t\tindentStr: { writable: true, value: undefined },\n\t\t\tignoreList: { writable: true, value: options.ignoreList },\n\t\t\toffset: { writable: true, value: options.offset || 0 },\n\t\t});\n\n\t\tif (DEBUG) {\n\t\t\tObject.defineProperty(this, 'stats', { value: new Stats() });\n\t\t}\n\n\t\tthis.byStart[0] = chunk;\n\t\tthis.byEnd[string.length] = chunk;\n\t}\n\n\taddSourcemapLocation(char) {\n\t\tthis.sourcemapLocations.add(char);\n\t}\n\n\tappend(content) {\n\t\tif (typeof content !== 'string') throw new TypeError('outro content must be a string');\n\n\t\tthis.outro += content;\n\t\treturn this;\n\t}\n\n\tappendLeft(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tif (DEBUG) this.stats.time('appendLeft');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byEnd[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.appendLeft(content);\n\t\t} else {\n\t\t\tthis.intro += content;\n\t\t}\n\n\t\tif (DEBUG) this.stats.timeEnd('appendLeft');\n\t\treturn this;\n\t}\n\n\tappendRight(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tif (DEBUG) this.stats.time('appendRight');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byStart[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.appendRight(content);\n\t\t} else {\n\t\t\tthis.outro += content;\n\t\t}\n\n\t\tif (DEBUG) this.stats.timeEnd('appendRight');\n\t\treturn this;\n\t}\n\n\tclone() {\n\t\tconst cloned = new MagicString(this.original, { filename: this.filename, offset: this.offset });\n\n\t\tlet originalChunk = this.firstChunk;\n\t\tlet clonedChunk = (cloned.firstChunk = cloned.lastSearchedChunk = originalChunk.clone());\n\n\t\twhile (originalChunk) {\n\t\t\tcloned.byStart[clonedChunk.start] = clonedChunk;\n\t\t\tcloned.byEnd[clonedChunk.end] = clonedChunk;\n\n\t\t\tconst nextOriginalChunk = originalChunk.next;\n\t\t\tconst nextClonedChunk = nextOriginalChunk && nextOriginalChunk.clone();\n\n\t\t\tif (nextClonedChunk) {\n\t\t\t\tclonedChunk.next = nextClonedChunk;\n\t\t\t\tnextClonedChunk.previous = clonedChunk;\n\n\t\t\t\tclonedChunk = nextClonedChunk;\n\t\t\t}\n\n\t\t\toriginalChunk = nextOriginalChunk;\n\t\t}\n\n\t\tcloned.lastChunk = clonedChunk;\n\n\t\tif (this.indentExclusionRanges) {\n\t\t\tcloned.indentExclusionRanges = this.indentExclusionRanges.slice();\n\t\t}\n\n\t\tcloned.sourcemapLocations = new BitSet(this.sourcemapLocations);\n\n\t\tcloned.intro = this.intro;\n\t\tcloned.outro = this.outro;\n\n\t\treturn cloned;\n\t}\n\n\tgenerateDecodedMap(options) {\n\t\toptions = options || {};\n\n\t\tconst sourceIndex = 0;\n\t\tconst names = Object.keys(this.storedNames);\n\t\tconst mappings = new Mappings(options.hires);\n\n\t\tconst locate = getLocator(this.original);\n\n\t\tif (this.intro) {\n\t\t\tmappings.advance(this.intro);\n\t\t}\n\n\t\tthis.firstChunk.eachNext((chunk) => {\n\t\t\tconst loc = locate(chunk.start);\n\n\t\t\tif (chunk.intro.length) mappings.advance(chunk.intro);\n\n\t\t\tif (chunk.edited) {\n\t\t\t\tmappings.addEdit(\n\t\t\t\t\tsourceIndex,\n\t\t\t\t\tchunk.content,\n\t\t\t\t\tloc,\n\t\t\t\t\tchunk.storeName ? names.indexOf(chunk.original) : -1,\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tmappings.addUneditedChunk(sourceIndex, chunk, this.original, loc, this.sourcemapLocations);\n\t\t\t}\n\n\t\t\tif (chunk.outro.length) mappings.advance(chunk.outro);\n\t\t});\n\n\t\treturn {\n\t\t\tfile: options.file ? options.file.split(/[/\\\\]/).pop() : undefined,\n\t\t\tsources: [\n\t\t\t\toptions.source ? getRelativePath(options.file || '', options.source) : options.file || '',\n\t\t\t],\n\t\t\tsourcesContent: options.includeContent ? [this.original] : undefined,\n\t\t\tnames,\n\t\t\tmappings: mappings.raw,\n\t\t\tx_google_ignoreList: this.ignoreList ? [sourceIndex] : undefined,\n\t\t};\n\t}\n\n\tgenerateMap(options) {\n\t\treturn new SourceMap(this.generateDecodedMap(options));\n\t}\n\n\t_ensureindentStr() {\n\t\tif (this.indentStr === undefined) {\n\t\t\tthis.indentStr = guessIndent(this.original);\n\t\t}\n\t}\n\n\t_getRawIndentString() {\n\t\tthis._ensureindentStr();\n\t\treturn this.indentStr;\n\t}\n\n\tgetIndentString() {\n\t\tthis._ensureindentStr();\n\t\treturn this.indentStr === null ? '\\t' : this.indentStr;\n\t}\n\n\tindent(indentStr, options) {\n\t\tconst pattern = /^[^\\r\\n]/gm;\n\n\t\tif (isObject(indentStr)) {\n\t\t\toptions = indentStr;\n\t\t\tindentStr = undefined;\n\t\t}\n\n\t\tif (indentStr === undefined) {\n\t\t\tthis._ensureindentStr();\n\t\t\tindentStr = this.indentStr || '\\t';\n\t\t}\n\n\t\tif (indentStr === '') return this; // noop\n\n\t\toptions = options || {};\n\n\t\t// Process exclusion ranges\n\t\tconst isExcluded = {};\n\n\t\tif (options.exclude) {\n\t\t\tconst exclusions =\n\t\t\t\ttypeof options.exclude[0] === 'number' ? [options.exclude] : options.exclude;\n\t\t\texclusions.forEach((exclusion) => {\n\t\t\t\tfor (let i = exclusion[0]; i < exclusion[1]; i += 1) {\n\t\t\t\t\tisExcluded[i] = true;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tlet shouldIndentNextCharacter = options.indentStart !== false;\n\t\tconst replacer = (match) => {\n\t\t\tif (shouldIndentNextCharacter) return `${indentStr}${match}`;\n\t\t\tshouldIndentNextCharacter = true;\n\t\t\treturn match;\n\t\t};\n\n\t\tthis.intro = this.intro.replace(pattern, replacer);\n\n\t\tlet charIndex = 0;\n\t\tlet chunk = this.firstChunk;\n\n\t\twhile (chunk) {\n\t\t\tconst end = chunk.end;\n\n\t\t\tif (chunk.edited) {\n\t\t\t\tif (!isExcluded[charIndex]) {\n\t\t\t\t\tchunk.content = chunk.content.replace(pattern, replacer);\n\n\t\t\t\t\tif (chunk.content.length) {\n\t\t\t\t\t\tshouldIndentNextCharacter = chunk.content[chunk.content.length - 1] === '\\n';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcharIndex = chunk.start;\n\n\t\t\t\twhile (charIndex < end) {\n\t\t\t\t\tif (!isExcluded[charIndex]) {\n\t\t\t\t\t\tconst char = this.original[charIndex];\n\n\t\t\t\t\t\tif (char === '\\n') {\n\t\t\t\t\t\t\tshouldIndentNextCharacter = true;\n\t\t\t\t\t\t} else if (char !== '\\r' && shouldIndentNextCharacter) {\n\t\t\t\t\t\t\tshouldIndentNextCharacter = false;\n\n\t\t\t\t\t\t\tif (charIndex === chunk.start) {\n\t\t\t\t\t\t\t\tchunk.prependRight(indentStr);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis._splitChunk(chunk, charIndex);\n\t\t\t\t\t\t\t\tchunk = chunk.next;\n\t\t\t\t\t\t\t\tchunk.prependRight(indentStr);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tcharIndex += 1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcharIndex = chunk.end;\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\tthis.outro = this.outro.replace(pattern, replacer);\n\n\t\treturn this;\n\t}\n\n\tinsert() {\n\t\tthrow new Error(\n\t\t\t'magicString.insert(...) is deprecated. Use prependRight(...) or appendLeft(...)',\n\t\t);\n\t}\n\n\tinsertLeft(index, content) {\n\t\tif (!warned.insertLeft) {\n\t\t\tconsole.warn(\n\t\t\t\t'magicString.insertLeft(...) is deprecated. Use magicString.appendLeft(...) instead',\n\t\t\t);\n\t\t\twarned.insertLeft = true;\n\t\t}\n\n\t\treturn this.appendLeft(index, content);\n\t}\n\n\tinsertRight(index, content) {\n\t\tif (!warned.insertRight) {\n\t\t\tconsole.warn(\n\t\t\t\t'magicString.insertRight(...) is deprecated. Use magicString.prependRight(...) instead',\n\t\t\t);\n\t\t\twarned.insertRight = true;\n\t\t}\n\n\t\treturn this.prependRight(index, content);\n\t}\n\n\tmove(start, end, index) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\t\tindex = index + this.offset;\n\n\t\tif (index >= start && index <= end) throw new Error('Cannot move a selection inside itself');\n\n\t\tif (DEBUG) this.stats.time('move');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\t\tthis._split(index);\n\n\t\tconst first = this.byStart[start];\n\t\tconst last = this.byEnd[end];\n\n\t\tconst oldLeft = first.previous;\n\t\tconst oldRight = last.next;\n\n\t\tconst newRight = this.byStart[index];\n\t\tif (!newRight && last === this.lastChunk) return this;\n\t\tconst newLeft = newRight ? newRight.previous : this.lastChunk;\n\n\t\tif (oldLeft) oldLeft.next = oldRight;\n\t\tif (oldRight) oldRight.previous = oldLeft;\n\n\t\tif (newLeft) newLeft.next = first;\n\t\tif (newRight) newRight.previous = last;\n\n\t\tif (!first.previous) this.firstChunk = last.next;\n\t\tif (!last.next) {\n\t\t\tthis.lastChunk = first.previous;\n\t\t\tthis.lastChunk.next = null;\n\t\t}\n\n\t\tfirst.previous = newLeft;\n\t\tlast.next = newRight || null;\n\n\t\tif (!newLeft) this.firstChunk = first;\n\t\tif (!newRight) this.lastChunk = last;\n\n\t\tif (DEBUG) this.stats.timeEnd('move');\n\t\treturn this;\n\t}\n\n\toverwrite(start, end, content, options) {\n\t\toptions = options || {};\n\t\treturn this.update(start, end, content, { ...options, overwrite: !options.contentOnly });\n\t}\n\n\tupdate(start, end, content, options) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('replacement content must be a string');\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (end > this.original.length) throw new Error('end is out of bounds');\n\t\tif (start === end)\n\t\t\tthrow new Error(\n\t\t\t\t'Cannot overwrite a zero-length range – use appendLeft or prependRight instead',\n\t\t\t);\n\n\t\tif (DEBUG) this.stats.time('overwrite');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tif (options === true) {\n\t\t\tif (!warned.storeName) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t'The final argument to magicString.overwrite(...) should be an options object. See https://github.com/rich-harris/magic-string',\n\t\t\t\t);\n\t\t\t\twarned.storeName = true;\n\t\t\t}\n\n\t\t\toptions = { storeName: true };\n\t\t}\n\t\tconst storeName = options !== undefined ? options.storeName : false;\n\t\tconst overwrite = options !== undefined ? options.overwrite : false;\n\n\t\tif (storeName) {\n\t\t\tconst original = this.original.slice(start, end);\n\t\t\tObject.defineProperty(this.storedNames, original, {\n\t\t\t\twritable: true,\n\t\t\t\tvalue: true,\n\t\t\t\tenumerable: true,\n\t\t\t});\n\t\t}\n\n\t\tconst first = this.byStart[start];\n\t\tconst last = this.byEnd[end];\n\n\t\tif (first) {\n\t\t\tlet chunk = first;\n\t\t\twhile (chunk !== last) {\n\t\t\t\tif (chunk.next !== this.byStart[chunk.end]) {\n\t\t\t\t\tthrow new Error('Cannot overwrite across a split point');\n\t\t\t\t}\n\t\t\t\tchunk = chunk.next;\n\t\t\t\tchunk.edit('', false);\n\t\t\t}\n\n\t\t\tfirst.edit(content, storeName, !overwrite);\n\t\t} else {\n\t\t\t// must be inserting at the end\n\t\t\tconst newChunk = new Chunk(start, end, '').edit(content, storeName);\n\n\t\t\t// TODO last chunk in the array may not be the last chunk, if it's moved...\n\t\t\tlast.next = newChunk;\n\t\t\tnewChunk.previous = last;\n\t\t}\n\n\t\tif (DEBUG) this.stats.timeEnd('overwrite');\n\t\treturn this;\n\t}\n\n\tprepend(content) {\n\t\tif (typeof content !== 'string') throw new TypeError('outro content must be a string');\n\n\t\tthis.intro = content + this.intro;\n\t\treturn this;\n\t}\n\n\tprependLeft(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tif (DEBUG) this.stats.time('insertRight');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byEnd[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.prependLeft(content);\n\t\t} else {\n\t\t\tthis.intro = content + this.intro;\n\t\t}\n\n\t\tif (DEBUG) this.stats.timeEnd('insertRight');\n\t\treturn this;\n\t}\n\n\tprependRight(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tif (DEBUG) this.stats.time('insertRight');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byStart[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.prependRight(content);\n\t\t} else {\n\t\t\tthis.outro = content + this.outro;\n\t\t}\n\n\t\tif (DEBUG) this.stats.timeEnd('insertRight');\n\t\treturn this;\n\t}\n\n\tremove(start, end) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (start === end) return this;\n\n\t\tif (start < 0 || end > this.original.length) throw new Error('Character is out of bounds');\n\t\tif (start > end) throw new Error('end must be greater than start');\n\n\t\tif (DEBUG) this.stats.time('remove');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tlet chunk = this.byStart[start];\n\n\t\twhile (chunk) {\n\t\t\tchunk.intro = '';\n\t\t\tchunk.outro = '';\n\t\t\tchunk.edit('');\n\n\t\t\tchunk = end > chunk.end ? this.byStart[chunk.end] : null;\n\t\t}\n\n\t\tif (DEBUG) this.stats.timeEnd('remove');\n\t\treturn this;\n\t}\n\n\treset(start, end) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (start === end) return this;\n\n\t\tif (start < 0 || end > this.original.length) throw new Error('Character is out of bounds');\n\t\tif (start > end) throw new Error('end must be greater than start');\n\n\t\tif (DEBUG) this.stats.time('reset');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tlet chunk = this.byStart[start];\n\n\t\twhile (chunk) {\n\t\t\tchunk.reset();\n\n\t\t\tchunk = end > chunk.end ? this.byStart[chunk.end] : null;\n\t\t}\n\n\t\tif (DEBUG) this.stats.timeEnd('reset');\n\t\treturn this;\n\t}\n\n\tlastChar() {\n\t\tif (this.outro.length) return this.outro[this.outro.length - 1];\n\t\tlet chunk = this.lastChunk;\n\t\tdo {\n\t\t\tif (chunk.outro.length) return chunk.outro[chunk.outro.length - 1];\n\t\t\tif (chunk.content.length) return chunk.content[chunk.content.length - 1];\n\t\t\tif (chunk.intro.length) return chunk.intro[chunk.intro.length - 1];\n\t\t} while ((chunk = chunk.previous));\n\t\tif (this.intro.length) return this.intro[this.intro.length - 1];\n\t\treturn '';\n\t}\n\n\tlastLine() {\n\t\tlet lineIndex = this.outro.lastIndexOf(n);\n\t\tif (lineIndex !== -1) return this.outro.substr(lineIndex + 1);\n\t\tlet lineStr = this.outro;\n\t\tlet chunk = this.lastChunk;\n\t\tdo {\n\t\t\tif (chunk.outro.length > 0) {\n\t\t\t\tlineIndex = chunk.outro.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.outro.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.outro + lineStr;\n\t\t\t}\n\n\t\t\tif (chunk.content.length > 0) {\n\t\t\t\tlineIndex = chunk.content.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.content.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.content + lineStr;\n\t\t\t}\n\n\t\t\tif (chunk.intro.length > 0) {\n\t\t\t\tlineIndex = chunk.intro.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.intro.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.intro + lineStr;\n\t\t\t}\n\t\t} while ((chunk = chunk.previous));\n\t\tlineIndex = this.intro.lastIndexOf(n);\n\t\tif (lineIndex !== -1) return this.intro.substr(lineIndex + 1) + lineStr;\n\t\treturn this.intro + lineStr;\n\t}\n\n\tslice(start = 0, end = this.original.length - this.offset) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tlet result = '';\n\n\t\t// find start chunk\n\t\tlet chunk = this.firstChunk;\n\t\twhile (chunk && (chunk.start > start || chunk.end <= start)) {\n\t\t\t// found end chunk before start\n\t\t\tif (chunk.start < end && chunk.end >= end) {\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\tif (chunk && chunk.edited && chunk.start !== start)\n\t\t\tthrow new Error(`Cannot use replaced character ${start} as slice start anchor.`);\n\n\t\tconst startChunk = chunk;\n\t\twhile (chunk) {\n\t\t\tif (chunk.intro && (startChunk !== chunk || chunk.start === start)) {\n\t\t\t\tresult += chunk.intro;\n\t\t\t}\n\n\t\t\tconst containsEnd = chunk.start < end && chunk.end >= end;\n\t\t\tif (containsEnd && chunk.edited && chunk.end !== end)\n\t\t\t\tthrow new Error(`Cannot use replaced character ${end} as slice end anchor.`);\n\n\t\t\tconst sliceStart = startChunk === chunk ? start - chunk.start : 0;\n\t\t\tconst sliceEnd = containsEnd ? chunk.content.length + end - chunk.end : chunk.content.length;\n\n\t\t\tresult += chunk.content.slice(sliceStart, sliceEnd);\n\n\t\t\tif (chunk.outro && (!containsEnd || chunk.end === end)) {\n\t\t\t\tresult += chunk.outro;\n\t\t\t}\n\n\t\t\tif (containsEnd) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t// TODO deprecate this? not really very useful\n\tsnip(start, end) {\n\t\tconst clone = this.clone();\n\t\tclone.remove(0, start);\n\t\tclone.remove(end, clone.original.length);\n\n\t\treturn clone;\n\t}\n\n\t_split(index) {\n\t\tif (this.byStart[index] || this.byEnd[index]) return;\n\n\t\tif (DEBUG) this.stats.time('_split');\n\n\t\tlet chunk = this.lastSearchedChunk;\n\t\tconst searchForward = index > chunk.end;\n\n\t\twhile (chunk) {\n\t\t\tif (chunk.contains(index)) return this._splitChunk(chunk, index);\n\n\t\t\tchunk = searchForward ? this.byStart[chunk.end] : this.byEnd[chunk.start];\n\t\t}\n\t}\n\n\t_splitChunk(chunk, index) {\n\t\tif (chunk.edited && chunk.content.length) {\n\t\t\t// zero-length edited chunks are a special case (overlapping replacements)\n\t\t\tconst loc = getLocator(this.original)(index);\n\t\t\tthrow new Error(\n\t\t\t\t`Cannot split a chunk that has already been edited (${loc.line}:${loc.column} – \"${chunk.original}\")`,\n\t\t\t);\n\t\t}\n\n\t\tconst newChunk = chunk.split(index);\n\n\t\tthis.byEnd[index] = chunk;\n\t\tthis.byStart[index] = newChunk;\n\t\tthis.byEnd[newChunk.end] = newChunk;\n\n\t\tif (chunk === this.lastChunk) this.lastChunk = newChunk;\n\n\t\tthis.lastSearchedChunk = chunk;\n\t\tif (DEBUG) this.stats.timeEnd('_split');\n\t\treturn true;\n\t}\n\n\ttoString() {\n\t\tlet str = this.intro;\n\n\t\tlet chunk = this.firstChunk;\n\t\twhile (chunk) {\n\t\t\tstr += chunk.toString();\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\treturn str + this.outro;\n\t}\n\n\tisEmpty() {\n\t\tlet chunk = this.firstChunk;\n\t\tdo {\n\t\t\tif (\n\t\t\t\t(chunk.intro.length && chunk.intro.trim()) ||\n\t\t\t\t(chunk.content.length && chunk.content.trim()) ||\n\t\t\t\t(chunk.outro.length && chunk.outro.trim())\n\t\t\t)\n\t\t\t\treturn false;\n\t\t} while ((chunk = chunk.next));\n\t\treturn true;\n\t}\n\n\tlength() {\n\t\tlet chunk = this.firstChunk;\n\t\tlet length = 0;\n\t\tdo {\n\t\t\tlength += chunk.intro.length + chunk.content.length + chunk.outro.length;\n\t\t} while ((chunk = chunk.next));\n\t\treturn length;\n\t}\n\n\ttrimLines() {\n\t\treturn this.trim('[\\\\r\\\\n]');\n\t}\n\n\ttrim(charType) {\n\t\treturn this.trimStart(charType).trimEnd(charType);\n\t}\n\n\ttrimEndAborted(charType) {\n\t\tconst rx = new RegExp((charType || '\\\\s') + '+$');\n\n\t\tthis.outro = this.outro.replace(rx, '');\n\t\tif (this.outro.length) return true;\n\n\t\tlet chunk = this.lastChunk;\n\n\t\tdo {\n\t\t\tconst end = chunk.end;\n\t\t\tconst aborted = chunk.trimEnd(rx);\n\n\t\t\t// if chunk was trimmed, we have a new lastChunk\n\t\t\tif (chunk.end !== end) {\n\t\t\t\tif (this.lastChunk === chunk) {\n\t\t\t\t\tthis.lastChunk = chunk.next;\n\t\t\t\t}\n\n\t\t\t\tthis.byEnd[chunk.end] = chunk;\n\t\t\t\tthis.byStart[chunk.next.start] = chunk.next;\n\t\t\t\tthis.byEnd[chunk.next.end] = chunk.next;\n\t\t\t}\n\n\t\t\tif (aborted) return true;\n\t\t\tchunk = chunk.previous;\n\t\t} while (chunk);\n\n\t\treturn false;\n\t}\n\n\ttrimEnd(charType) {\n\t\tthis.trimEndAborted(charType);\n\t\treturn this;\n\t}\n\ttrimStartAborted(charType) {\n\t\tconst rx = new RegExp('^' + (charType || '\\\\s') + '+');\n\n\t\tthis.intro = this.intro.replace(rx, '');\n\t\tif (this.intro.length) return true;\n\n\t\tlet chunk = this.firstChunk;\n\n\t\tdo {\n\t\t\tconst end = chunk.end;\n\t\t\tconst aborted = chunk.trimStart(rx);\n\n\t\t\tif (chunk.end !== end) {\n\t\t\t\t// special case...\n\t\t\t\tif (chunk === this.lastChunk) this.lastChunk = chunk.next;\n\n\t\t\t\tthis.byEnd[chunk.end] = chunk;\n\t\t\t\tthis.byStart[chunk.next.start] = chunk.next;\n\t\t\t\tthis.byEnd[chunk.next.end] = chunk.next;\n\t\t\t}\n\n\t\t\tif (aborted) return true;\n\t\t\tchunk = chunk.next;\n\t\t} while (chunk);\n\n\t\treturn false;\n\t}\n\n\ttrimStart(charType) {\n\t\tthis.trimStartAborted(charType);\n\t\treturn this;\n\t}\n\n\thasChanged() {\n\t\treturn this.original !== this.toString();\n\t}\n\n\t_replaceRegexp(searchValue, replacement) {\n\t\tfunction getReplacement(match, str) {\n\t\t\tif (typeof replacement === 'string') {\n\t\t\t\treturn replacement.replace(/\\$(\\$|&|\\d+)/g, (_, i) => {\n\t\t\t\t\t// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#specifying_a_string_as_a_parameter\n\t\t\t\t\tif (i === '$') return '$';\n\t\t\t\t\tif (i === '&') return match[0];\n\t\t\t\t\tconst num = +i;\n\t\t\t\t\tif (num < match.length) return match[+i];\n\t\t\t\t\treturn `$${i}`;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn replacement(...match, match.index, str, match.groups);\n\t\t\t}\n\t\t}\n\t\tfunction matchAll(re, str) {\n\t\t\tlet match;\n\t\t\tconst matches = [];\n\t\t\twhile ((match = re.exec(str))) {\n\t\t\t\tmatches.push(match);\n\t\t\t}\n\t\t\treturn matches;\n\t\t}\n\t\tif (searchValue.global) {\n\t\t\tconst matches = matchAll(searchValue, this.original);\n\t\t\tmatches.forEach((match) => {\n\t\t\t\tif (match.index != null) {\n\t\t\t\t\tconst replacement = getReplacement(match, this.original);\n\t\t\t\t\tif (replacement !== match[0]) {\n\t\t\t\t\t\tthis.overwrite(match.index, match.index + match[0].length, replacement);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tconst match = this.original.match(searchValue);\n\t\t\tif (match && match.index != null) {\n\t\t\t\tconst replacement = getReplacement(match, this.original);\n\t\t\t\tif (replacement !== match[0]) {\n\t\t\t\t\tthis.overwrite(match.index, match.index + match[0].length, replacement);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\t_replaceString(string, replacement) {\n\t\tconst { original } = this;\n\t\tconst index = original.indexOf(string);\n\n\t\tif (index !== -1) {\n\t\t\tthis.overwrite(index, index + string.length, replacement);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\treplace(searchValue, replacement) {\n\t\tif (typeof searchValue === 'string') {\n\t\t\treturn this._replaceString(searchValue, replacement);\n\t\t}\n\n\t\treturn this._replaceRegexp(searchValue, replacement);\n\t}\n\n\t_replaceAllString(string, replacement) {\n\t\tconst { original } = this;\n\t\tconst stringLength = string.length;\n\t\tfor (\n\t\t\tlet index = original.indexOf(string);\n\t\t\tindex !== -1;\n\t\t\tindex = original.indexOf(string, index + stringLength)\n\t\t) {\n\t\t\tconst previous = original.slice(index, index + stringLength);\n\t\t\tif (previous !== replacement) this.overwrite(index, index + stringLength, replacement);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\treplaceAll(searchValue, replacement) {\n\t\tif (typeof searchValue === 'string') {\n\t\t\treturn this._replaceAllString(searchValue, replacement);\n\t\t}\n\n\t\tif (!searchValue.global) {\n\t\t\tthrow new TypeError(\n\t\t\t\t'MagicString.prototype.replaceAll called with a non-global RegExp argument',\n\t\t\t);\n\t\t}\n\n\t\treturn this._replaceRegexp(searchValue, replacement);\n\t}\n}\n","import MagicString from './MagicString.js';\nimport SourceMap from './SourceMap.js';\nimport getRelativePath from './utils/getRelativePath.js';\nimport isObject from './utils/isObject.js';\nimport getLocator from './utils/getLocator.js';\nimport Mappings from './utils/Mappings.js';\n\nconst hasOwnProp = Object.prototype.hasOwnProperty;\n\nexport default class Bundle {\n\tconstructor(options = {}) {\n\t\tthis.intro = options.intro || '';\n\t\tthis.separator = options.separator !== undefined ? options.separator : '\\n';\n\t\tthis.sources = [];\n\t\tthis.uniqueSources = [];\n\t\tthis.uniqueSourceIndexByFilename = {};\n\t}\n\n\taddSource(source) {\n\t\tif (source instanceof MagicString) {\n\t\t\treturn this.addSource({\n\t\t\t\tcontent: source,\n\t\t\t\tfilename: source.filename,\n\t\t\t\tseparator: this.separator,\n\t\t\t});\n\t\t}\n\n\t\tif (!isObject(source) || !source.content) {\n\t\t\tthrow new Error(\n\t\t\t\t'bundle.addSource() takes an object with a `content` property, which should be an instance of MagicString, and an optional `filename`',\n\t\t\t);\n\t\t}\n\n\t\t['filename', 'ignoreList', 'indentExclusionRanges', 'separator'].forEach((option) => {\n\t\t\tif (!hasOwnProp.call(source, option)) source[option] = source.content[option];\n\t\t});\n\n\t\tif (source.separator === undefined) {\n\t\t\t// TODO there's a bunch of this sort of thing, needs cleaning up\n\t\t\tsource.separator = this.separator;\n\t\t}\n\n\t\tif (source.filename) {\n\t\t\tif (!hasOwnProp.call(this.uniqueSourceIndexByFilename, source.filename)) {\n\t\t\t\tthis.uniqueSourceIndexByFilename[source.filename] = this.uniqueSources.length;\n\t\t\t\tthis.uniqueSources.push({ filename: source.filename, content: source.content.original });\n\t\t\t} else {\n\t\t\t\tconst uniqueSource = this.uniqueSources[this.uniqueSourceIndexByFilename[source.filename]];\n\t\t\t\tif (source.content.original !== uniqueSource.content) {\n\t\t\t\t\tthrow new Error(`Illegal source: same filename (${source.filename}), different contents`);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.sources.push(source);\n\t\treturn this;\n\t}\n\n\tappend(str, options) {\n\t\tthis.addSource({\n\t\t\tcontent: new MagicString(str),\n\t\t\tseparator: (options && options.separator) || '',\n\t\t});\n\n\t\treturn this;\n\t}\n\n\tclone() {\n\t\tconst bundle = new Bundle({\n\t\t\tintro: this.intro,\n\t\t\tseparator: this.separator,\n\t\t});\n\n\t\tthis.sources.forEach((source) => {\n\t\t\tbundle.addSource({\n\t\t\t\tfilename: source.filename,\n\t\t\t\tcontent: source.content.clone(),\n\t\t\t\tseparator: source.separator,\n\t\t\t});\n\t\t});\n\n\t\treturn bundle;\n\t}\n\n\tgenerateDecodedMap(options = {}) {\n\t\tconst names = [];\n\t\tlet x_google_ignoreList = undefined;\n\t\tthis.sources.forEach((source) => {\n\t\t\tObject.keys(source.content.storedNames).forEach((name) => {\n\t\t\t\tif (!~names.indexOf(name)) names.push(name);\n\t\t\t});\n\t\t});\n\n\t\tconst mappings = new Mappings(options.hires);\n\n\t\tif (this.intro) {\n\t\t\tmappings.advance(this.intro);\n\t\t}\n\n\t\tthis.sources.forEach((source, i) => {\n\t\t\tif (i > 0) {\n\t\t\t\tmappings.advance(this.separator);\n\t\t\t}\n\n\t\t\tconst sourceIndex = source.filename ? this.uniqueSourceIndexByFilename[source.filename] : -1;\n\t\t\tconst magicString = source.content;\n\t\t\tconst locate = getLocator(magicString.original);\n\n\t\t\tif (magicString.intro) {\n\t\t\t\tmappings.advance(magicString.intro);\n\t\t\t}\n\n\t\t\tmagicString.firstChunk.eachNext((chunk) => {\n\t\t\t\tconst loc = locate(chunk.start);\n\n\t\t\t\tif (chunk.intro.length) mappings.advance(chunk.intro);\n\n\t\t\t\tif (source.filename) {\n\t\t\t\t\tif (chunk.edited) {\n\t\t\t\t\t\tmappings.addEdit(\n\t\t\t\t\t\t\tsourceIndex,\n\t\t\t\t\t\t\tchunk.content,\n\t\t\t\t\t\t\tloc,\n\t\t\t\t\t\t\tchunk.storeName ? names.indexOf(chunk.original) : -1,\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmappings.addUneditedChunk(\n\t\t\t\t\t\t\tsourceIndex,\n\t\t\t\t\t\t\tchunk,\n\t\t\t\t\t\t\tmagicString.original,\n\t\t\t\t\t\t\tloc,\n\t\t\t\t\t\t\tmagicString.sourcemapLocations,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tmappings.advance(chunk.content);\n\t\t\t\t}\n\n\t\t\t\tif (chunk.outro.length) mappings.advance(chunk.outro);\n\t\t\t});\n\n\t\t\tif (magicString.outro) {\n\t\t\t\tmappings.advance(magicString.outro);\n\t\t\t}\n\n\t\t\tif (source.ignoreList && sourceIndex !== -1) {\n\t\t\t\tif (x_google_ignoreList === undefined) {\n\t\t\t\t\tx_google_ignoreList = [];\n\t\t\t\t}\n\t\t\t\tx_google_ignoreList.push(sourceIndex);\n\t\t\t}\n\t\t});\n\n\t\treturn {\n\t\t\tfile: options.file ? options.file.split(/[/\\\\]/).pop() : undefined,\n\t\t\tsources: this.uniqueSources.map((source) => {\n\t\t\t\treturn options.file ? getRelativePath(options.file, source.filename) : source.filename;\n\t\t\t}),\n\t\t\tsourcesContent: this.uniqueSources.map((source) => {\n\t\t\t\treturn options.includeContent ? source.content : null;\n\t\t\t}),\n\t\t\tnames,\n\t\t\tmappings: mappings.raw,\n\t\t\tx_google_ignoreList,\n\t\t};\n\t}\n\n\tgenerateMap(options) {\n\t\treturn new SourceMap(this.generateDecodedMap(options));\n\t}\n\n\tgetIndentString() {\n\t\tconst indentStringCounts = {};\n\n\t\tthis.sources.forEach((source) => {\n\t\t\tconst indentStr = source.content._getRawIndentString();\n\n\t\t\tif (indentStr === null) return;\n\n\t\t\tif (!indentStringCounts[indentStr]) indentStringCounts[indentStr] = 0;\n\t\t\tindentStringCounts[indentStr] += 1;\n\t\t});\n\n\t\treturn (\n\t\t\tObject.keys(indentStringCounts).sort((a, b) => {\n\t\t\t\treturn indentStringCounts[a] - indentStringCounts[b];\n\t\t\t})[0] || '\\t'\n\t\t);\n\t}\n\n\tindent(indentStr) {\n\t\tif (!arguments.length) {\n\t\t\tindentStr = this.getIndentString();\n\t\t}\n\n\t\tif (indentStr === '') return this; // noop\n\n\t\tlet trailingNewline = !this.intro || this.intro.slice(-1) === '\\n';\n\n\t\tthis.sources.forEach((source, i) => {\n\t\t\tconst separator = source.separator !== undefined ? source.separator : this.separator;\n\t\t\tconst indentStart = trailingNewline || (i > 0 && /\\r?\\n$/.test(separator));\n\n\t\t\tsource.content.indent(indentStr, {\n\t\t\t\texclude: source.indentExclusionRanges,\n\t\t\t\tindentStart, //: trailingNewline || /\\r?\\n$/.test( separator ) //true///\\r?\\n/.test( separator )\n\t\t\t});\n\n\t\t\ttrailingNewline = source.content.lastChar() === '\\n';\n\t\t});\n\n\t\tif (this.intro) {\n\t\t\tthis.intro =\n\t\t\t\tindentStr +\n\t\t\t\tthis.intro.replace(/^[^\\n]/gm, (match, index) => {\n\t\t\t\t\treturn index > 0 ? indentStr + match : match;\n\t\t\t\t});\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tprepend(str) {\n\t\tthis.intro = str + this.intro;\n\t\treturn this;\n\t}\n\n\ttoString() {\n\t\tconst body = this.sources\n\t\t\t.map((source, i) => {\n\t\t\t\tconst separator = source.separator !== undefined ? source.separator : this.separator;\n\t\t\t\tconst str = (i > 0 ? separator : '') + source.content.toString();\n\n\t\t\t\treturn str;\n\t\t\t})\n\t\t\t.join('');\n\n\t\treturn this.intro + body;\n\t}\n\n\tisEmpty() {\n\t\tif (this.intro.length && this.intro.trim()) return false;\n\t\tif (this.sources.some((source) => !source.content.isEmpty())) return false;\n\t\treturn true;\n\t}\n\n\tlength() {\n\t\treturn this.sources.reduce(\n\t\t\t(length, source) => length + source.content.length(),\n\t\t\tthis.intro.length,\n\t\t);\n\t}\n\n\ttrimLines() {\n\t\treturn this.trim('[\\\\r\\\\n]');\n\t}\n\n\ttrim(charType) {\n\t\treturn this.trimStart(charType).trimEnd(charType);\n\t}\n\n\ttrimStart(charType) {\n\t\tconst rx = new RegExp('^' + (charType || '\\\\s') + '+');\n\t\tthis.intro = this.intro.replace(rx, '');\n\n\t\tif (!this.intro) {\n\t\t\tlet source;\n\t\t\tlet i = 0;\n\n\t\t\tdo {\n\t\t\t\tsource = this.sources[i++];\n\t\t\t\tif (!source) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} while (!source.content.trimStartAborted(charType));\n\t\t}\n\n\t\treturn this;\n\t}\n\n\ttrimEnd(charType) {\n\t\tconst rx = new RegExp((charType || '\\\\s') + '+$');\n\n\t\tlet source;\n\t\tlet i = this.sources.length - 1;\n\n\t\tdo {\n\t\t\tsource = this.sources[i--];\n\t\t\tif (!source) {\n\t\t\t\tthis.intro = this.intro.replace(rx, '');\n\t\t\t\tbreak;\n\t\t\t}\n\t\t} while (!source.content.trimEndAborted(charType));\n\n\t\treturn this;\n\t}\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import { stringifyError } from './IWNVWC3I.js';
2
- import { extractUserVersions, resolveTypeVersions } from './NUB3VR3D.js';
3
- import { AWS_REGION, AWS_ACCOUNT_ID, findToolByName, getChainTypeForTool, tools, versionsSatisfied, getImageURI } from './BPGURM6D.js';
4
2
  import { lockMany } from './3PEVFTZ5.js';
3
+ import { extractUserVersions, resolveTypeVersions } from './QBFQWBQ4.js';
4
+ import { AWS_REGION, AWS_ACCOUNT_ID, findToolByName, getChainTypeForTool, tools, versionsSatisfied, getImageURI } from './CJNBA2MN.js';
5
5
  import { init_esm_shims, __name } from './4RNWLMHM.js';
6
6
  import fs from 'node:fs';
7
7
  import path from 'node:path';
@@ -51,7 +51,7 @@ async function ensureDockerImage(imageURI) {
51
51
  }
52
52
  __name(ensureDockerImage, "ensureDockerImage");
53
53
  async function executeToolCommand(command, args, options) {
54
- const { cwd, volumes: userVolumes, customEntrypoint: entrypoint, env: customEnvVars, script } = options;
54
+ const { cwd, volumes: userVolumes, customEntrypoint: entrypoint, env: customEnvVars, script, publish } = options;
55
55
  const tool = findToolByName(command);
56
56
  const type = getChainTypeForTool(command);
57
57
  if (type === void 0) {
@@ -156,6 +156,10 @@ async function executeToolCommand(command, args, options) {
156
156
  `${workspaceRoot}:/workspace`,
157
157
  "-w",
158
158
  `/workspace/${relativePath}`,
159
+ ...publish ? [
160
+ "-p",
161
+ publish.trim()
162
+ ] : [],
159
163
  ...volumeArgs,
160
164
  ...entrypoint ? [
161
165
  "--entrypoint",
@@ -184,5 +188,5 @@ function saveAptosModulesOrder(command, processOutput, workspaceRoot, relPath) {
184
188
  __name(saveAptosModulesOrder, "saveAptosModulesOrder");
185
189
 
186
190
  export { executeToolCommand };
187
- //# sourceMappingURL=F46O4OAT.js.map
188
- //# sourceMappingURL=F46O4OAT.js.map
191
+ //# sourceMappingURL=ARTA3TG2.js.map
192
+ //# sourceMappingURL=ARTA3TG2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/tool-executor.ts"],"names":["$","verbose","stdio","process","stderr","mergeVolumes","defaultVolumes","userVolumes","paths","Set","map","volume","containerPath","filter","has","ensureDockerImage","imageURI","output","nothrow","stdout","includes","split","console","info","error","Error","stringifyError","exitCode","AWS_REGION","AWS_ACCOUNT_ID","join","executeToolCommand","command","args","options","cwd","volumes","customEntrypoint","entrypoint","env","customEnvVars","script","publish","tool","findToolByName","type","getChainTypeForTool","undefined","tools","name","length","overrides","uv","some","dv","userSpecifiedVersions","extractUserVersions","versionResult","resolveTypeVersions","warning","warnings","warn","resolvedVersion","resolvedVersions","getSecondaryVersionCheckValue","secondaryVersion","resolvedVersionObj","version","versionsSatisfied","getImageURI","workspaceRoot","getFullyQualifiedRepoRootPath","relativePath","path","relative","volumeArgs","hostPath","components","shared","packageName","npm_package_name","push","basename","flatMap","trim","envArgs","envVar","value","flat","finalArgs","dockerArgs","privileged","lockMany","locked","saveAptosModulesOrder","exit","processOutput","relPath","outputJson","json","modules","Result","item","fs","writeFileSync","JSON","stringify"],"mappings":"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","file":"ARTA3TG2.js","sourcesContent":["import fs from 'node:fs';\nimport path from 'node:path';\nimport process from 'node:process';\nimport { $, type ProcessOutput } from 'zx';\n\nimport { getFullyQualifiedRepoRootPath } from '@layerzerolabs/common-node-utils';\n\nimport { AWS_ACCOUNT_ID, AWS_REGION, tools } from '../config';\nimport type { EnvironmentVariable, Version, VolumeMapping } from '../types';\nimport { getImageURI } from '../utils/docker';\nimport { stringifyError } from '../utils/error';\nimport { findToolByName, getChainTypeForTool } from '../utils/finder';\nimport { versionsSatisfied } from '../utils/version';\nimport { lockMany } from './lock';\nimport { extractUserVersions, resolveTypeVersions } from './version-resolver';\n\n// Configure zx to inherit stdio by default (moved from original setup)\n$.verbose = true;\n$.stdio = ['inherit', 'pipe', process.stderr];\n\n/**\n * Merge default volumes with user-specified volumes\n * User volumes take precedence when containerPath conflicts\n */\nconst mergeVolumes = (\n defaultVolumes: VolumeMapping[],\n userVolumes: VolumeMapping[],\n): VolumeMapping[] => {\n const paths = new Set(userVolumes.map((volume) => volume.containerPath));\n\n return [...userVolumes, ...defaultVolumes.filter((volume) => !paths.has(volume.containerPath))];\n};\n\nasync function ensureDockerImage(imageURI: string): Promise<void> {\n let output: ProcessOutput;\n\n try {\n // Check local images first.\n output = await $`docker image ls ${imageURI}`.nothrow();\n\n if (output.stdout.includes(imageURI.split(':')[1])) {\n console.info(`✅ Using cached Docker image: ${imageURI}`);\n return;\n }\n\n console.info('📥 Pulling Docker image from ECR:', imageURI);\n output = await $`docker pull ${imageURI}`.nothrow();\n } catch (error: unknown) {\n throw new Error(`Failed to pull Docker image ${imageURI}: ${stringifyError(error)}`);\n }\n\n if (output.exitCode) {\n throw new Error(\n [\n 'Docker image not available:',\n ` - ECR image: ${imageURI} (pull failed)`,\n '',\n '💡 Solutions:',\n ` 1. Authenticate with ECR: aws ecr get-login-password --region ${AWS_REGION} | ` +\n `docker login --username AWS --password-stdin ${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com`,\n ' 2. Check if the image tag exists in ECR.',\n ].join('\\n'),\n );\n }\n\n console.info(`✅ Successfully pulled: ${imageURI}`);\n}\n\n/**\n * Enhanced tool command execution using the new version compatibility matrix system\n */\nexport async function executeToolCommand(\n command: string,\n args: string[],\n options: {\n cwd: string;\n volumes: VolumeMapping[];\n customEntrypoint?: string;\n env: EnvironmentVariable[];\n script?: string;\n [key: string]: unknown;\n publish?: string;\n },\n): Promise<void> {\n const {\n cwd,\n volumes: userVolumes,\n customEntrypoint: entrypoint,\n env: customEnvVars,\n script,\n publish,\n } = options;\n\n const tool = findToolByName(command);\n const type = getChainTypeForTool(command);\n\n if (type === undefined) {\n throw new Error(\n [\n `Tool '${command}' not found or no type configuration available.`,\n `Available tools: ${tools.map(({ name }) => name).join(', ')}`,\n `Try: lz-tool --list-versions to see all available tools`,\n ].join('\\n'),\n );\n }\n\n // Merge default volumes with user-specified volumes\n const defaultVolumes = tool.defaultVolumes ?? [];\n const volumes = mergeVolumes(defaultVolumes, userVolumes);\n\n if (defaultVolumes.length > 0) {\n console.info(`📦 Using ${defaultVolumes.length} default cache volume(s) for ${command}`);\n if (userVolumes.length > 0) {\n const overrides = userVolumes.filter((uv) =>\n defaultVolumes.some((dv) => dv.containerPath === uv.containerPath),\n );\n if (overrides.length > 0) {\n console.info(`🔧 User volumes override ${overrides.length} default volume(s)`);\n }\n }\n }\n\n // Extract user-specified versions from command line options\n const userSpecifiedVersions = extractUserVersions(options);\n\n // Resolve versions for all tools in the type using compatibility matrix\n const versionResult = resolveTypeVersions(type, userSpecifiedVersions, options, cwd);\n\n for (const warning of versionResult.warnings) {\n console.warn(warning);\n }\n\n // Get the resolved version for the current tool\n const resolvedVersion = versionResult.resolvedVersions[command];\n if (typeof resolvedVersion !== 'string' || resolvedVersion === '') {\n throw new Error(`No version resolved for tool ${command}`);\n }\n\n console.info(`🔧 ${command} version: ${resolvedVersion}`);\n\n // Check secondary version validation if available\n if (tool.getSecondaryVersionCheckValue) {\n try {\n const secondaryVersion = tool.getSecondaryVersionCheckValue({ cwd });\n const resolvedVersionObj: Version = { version: resolvedVersion };\n\n if (!versionsSatisfied(secondaryVersion, resolvedVersionObj)) {\n console.warn(\n `Warning: Local configuration version (${secondaryVersion.version}) differs from resolved version (${resolvedVersion})`,\n );\n }\n } catch (error) {\n // Secondary version check failed, but continue with resolved version\n console.warn('Could not validate secondary version:', stringifyError(error));\n }\n }\n\n // Use Docker image with merged volumes\n const imageURI = getImageURI(tool.name, resolvedVersion);\n const workspaceRoot = await getFullyQualifiedRepoRootPath();\n const relativePath = path.relative(workspaceRoot, cwd);\n\n await ensureDockerImage(imageURI);\n\n const volumeArgs = volumes\n .map((volume) => {\n if (volume.type === 'host') {\n return `${volume.hostPath}:${volume.containerPath}`;\n }\n\n const components = ['lz-tooling-cache', volume.name];\n\n if (!volume.shared) {\n // This is the package name where the `lz-tool` command is executed.\n // eslint-disable-next-line turbo/no-undeclared-env-vars\n const packageName = process.env.npm_package_name;\n\n if (!packageName) {\n throw new Error('npm_package_name environment variable not defined');\n }\n\n components.push(path.basename(packageName));\n }\n\n return `${components.join('-')}:${volume.containerPath}`;\n })\n .flatMap((volume) => ['-v', volume]);\n\n if (entrypoint?.trim()) {\n console.info(`🔧 Using custom entrypoint: ${entrypoint}`);\n }\n\n // Build the Docker command with proper argument separation\n const envArgs = customEnvVars.map((envVar) => ['-e', `${envVar.name}=${envVar.value}`]).flat();\n\n if (customEnvVars.length > 0) {\n console.info(`🌍 Using ${customEnvVars.length} custom environment variable(s)`);\n }\n\n // Handle custom script execution\n let finalArgs: string[];\n if (script && script.trim() !== '') {\n console.info(`📜 Executing custom script: ${script}`);\n finalArgs = ['bash', '-c', script];\n } else {\n finalArgs = entrypoint === undefined ? [tool.name, ...args] : args;\n }\n\n // Build the Docker command with proper argument separation\n const dockerArgs = [\n 'run',\n ...(tool.privileged ? ['--privileged'] : []),\n '--rm',\n ...envArgs,\n '-v',\n `${workspaceRoot}:/workspace`,\n '-w',\n `/workspace/${relativePath}`,\n ...(publish ? ['-p', publish.trim()] : []),\n ...volumeArgs,\n ...(entrypoint ? ['--entrypoint', entrypoint] : []),\n imageURI,\n ...finalArgs,\n ];\n\n const output = await lockMany(\n volumes.flatMap((volume) =>\n volume.type === 'isolate' && volume.locked ? [volume.name] : [],\n ),\n () => $`docker ${dockerArgs}`.nothrow(),\n );\n saveAptosModulesOrder(command, output, workspaceRoot, relativePath);\n\n // Handle the process completion\n const { exitCode } = output;\n if (exitCode !== 0) {\n process.exit(exitCode ?? 1);\n }\n}\n\nfunction saveAptosModulesOrder(\n command: string,\n processOutput: ProcessOutput,\n workspaceRoot: string,\n relPath: string,\n): void {\n if ('aptos' === command) {\n const outputJson: { Result: string[] } = processOutput.json();\n const modules = outputJson.Result.map((item: string) => `${item.split('::')[1]}.mv`);\n fs.writeFileSync(\n path.join(workspaceRoot, relPath, 'modules.json'),\n JSON.stringify(modules, null, 2),\n );\n }\n}\n"]}