{"version":3,"sources":["jsdelivr-header.js","/npm/grunt-javascript-obfuscator@1.2.0/tasks/javascript_obfuscator.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACEA,aAEA,IAAI,qBAAuB,QAAQ,yBAC/B,KAAO,QAAQ,QAEnB,SAAS,OAAO,EAAO,GACrB,GAAqB,IAAjB,EAAM,OACR,MAAM,IAAI,MAAM,2BAGlB,OAAO,EAAM,KAAI,SAAS,GACxB,OAAO,EAAM,KAAK,KAAK,EACzB,IAAG,KAAK,EAAM,KAAK,YAAY,KACjC,CAEA,SAAS,UAAU,EAAO,EAAY,EAAU,GAC9C,IAAK,EAAQ,WAAuC,aAA1B,EAAQ,cAChC,OAAO,EAGT,IAAI,EAAY,EAAW,eACvB,EAAoB,EAAW,OAE/B,EAAQ,oBACV,EAAoB,KAAK,UACvB,KAAK,QAAQ,GACb,IACA,EAAQ,kBACR,YAIJ,IAAI,EAAmB,EAAW,oBAClC,GAAoB,0BAA4B,EAChD,EAAM,KAAK,MAAM,EAAU,GAE3B,EAAM,KAAK,MAAM,EAAmB,GACpC,EAAM,IAAI,QAAQ,SAAW,EAAoB,yBACnD,CAEA,SAAS,UAAU,EAAO,EAAgB,EAAU,GAClD,IAAI,EAAa,qBAAqB,UAAU,EAAgB,GAC5D,EAAmB,EAAW,oBAClC,EAAM,KAAK,MAAM,EAAU,GAC3B,EAAM,IAAI,QAAQ,SAAW,EAAW,iBAExC,UAAU,EAAO,EAAY,EAAU,EACzC,CAEA,SAAS,sBAAsB,EAAO,EAAU,EAAU,GACxD,IAAI,EAEJ,IACE,EAAS,OAAO,EAAO,EACzB,CAAE,MAAO,GACP,OAAO,EAAM,KAAK,KAAK,EACzB,CAEA,UAAU,EAAO,EAAQ,EAAU,EACrC,CAEA,SAAS,0BAA0B,EAAO,EAAW,GACnD,EAAU,SAAQ,SAAU,GAC1B,IAAI,EAAS,EAAM,KAAK,KAAK,GAC7B,UAAU,EAAO,EAAQ,EAAU,EACrC,GACF,CAEA,OAAO,QAAU,SAAS,GACxB,EAAM,kBAAkB,wBAAyB,gCAAgC,WAG/E,IAAI,EAAU,KAAK,QAAQ,CAAC,GACxB,EAAQ,KAAK,MAEjB,GAAqB,IAAjB,EAAM,OACR,MAAM,IAAI,MAAM,2BAGlB,EAAM,SAAQ,SAAS,GACjB,EAAK,KACP,sBAAsB,EAAO,EAAK,IAAK,EAAK,KAAM,GAElD,0BAA0B,EAAO,EAAK,IAAK,EAE/C,GACF,GACF","file":"/npm/grunt-javascript-obfuscator@1.2.0/tasks/javascript_obfuscator.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.37.0.\n * Original file: /npm/grunt-javascript-obfuscator@1.2.0/tasks/javascript_obfuscator.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","/*\n * grunt-javascript-obfuscator\n * https://github.com/tomasz-oponowicz/grunt-javascript-obfuscator\n *\n * Copyright (c) 2016 Tomasz Oponowicz\n * Licensed under the MIT license.\n */\n\n'use strict';\n\nvar JavaScriptObfuscator = require('javascript-obfuscator');\nvar path = require('path');\n\nfunction concat(grunt, paths) {\n  if (paths.length === 0) {\n    throw new Error('Source files not found.');\n  }\n\n  return paths.map(function(path) {\n    return grunt.file.read(path);\n  }).join(grunt.util.normalizelf(';'));\n}\n\nfunction sourceMap(grunt, obfuscated, destFile, options) {\n  if (!options.sourceMap || options.sourceMapMode !== 'separate') {\n    return false;\n  }\n\n  var sourceMap = obfuscated.getSourceMap();\n  var sourceMapFileName = destFile + '.map';\n\n  if (options.sourceMapFileName) {\n    sourceMapFileName = path.normalize(\n      path.dirname(destFile) +\n      '/' +\n      options.sourceMapFileName +\n      '.js.map'\n    );\n  }\n\n  var obfuscatedSource = obfuscated.getObfuscatedCode();\n  obfuscatedSource += '\\n//# sourceMappingURL=' + sourceMapFileName;\n  grunt.file.write(destFile, obfuscatedSource);\n\n  grunt.file.write(sourceMapFileName, sourceMap);\n  grunt.log.writeln('File \"' + sourceMapFileName + '\" saved as source map.');\n}\n\nfunction obfuscate(grunt, originalSource, destFile, options) {\n  var obfuscated = JavaScriptObfuscator.obfuscate(originalSource, options);\n  var obfuscatedSource = obfuscated.getObfuscatedCode();\n  grunt.file.write(destFile, obfuscatedSource);\n  grunt.log.writeln('File \"' + destFile + '\" obfuscated.');\n\n  sourceMap(grunt, obfuscated, destFile, options);\n}\n\nfunction obfuscateSingleTarget(grunt, srcFiles, destFile, options) {\n  var source;\n\n  try {\n    source = concat(grunt, srcFiles);\n  } catch (error) {\n    return grunt.fail.warn(error);\n  }\n\n  obfuscate(grunt, source, destFile, options);\n}\n\nfunction obfuscateMultiplesTargets(grunt, destFiles, options) {\n  destFiles.forEach(function (destFile) {\n    var source = grunt.file.read(destFile);\n    obfuscate(grunt, source, destFile, options);\n  });\n}\n\nmodule.exports = function(grunt) {\n  grunt.registerMultiTask('javascript_obfuscator', 'Obfuscates JavaScript files.', function() {\n\n    // Merge task-specific and/or target-specific options with these defaults.\n    var options = this.options({});\n    var files = this.files;\n\n    if (files.length === 0) {\n      throw new Error('Target files not found.');\n    }\n\n    files.forEach(function(file) {\n      if (file.dest) {\n        obfuscateSingleTarget(grunt, file.src, file.dest, options);\n      } else {\n        obfuscateMultiplesTargets(grunt, file.src, options);\n      }\n    });\n  });\n};\n"]}