obsidian-dev-utils 13.0.0 → 13.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -36,6 +36,7 @@ var import_Debug = require('../Debug.cjs');
36
36
  var import_Function = require('../Function.cjs');
37
37
  var import_Object = require('../Object.cjs');
38
38
  var import_Path = require('../Path.cjs');
39
+ var import_String = require('../String.cjs');
39
40
  var import_App = require('./App.cjs');
40
41
  var import_AttachmentPath = require('./AttachmentPath.cjs');
41
42
  var import_FileSystem = require('./FileSystem.cjs');
@@ -117,7 +118,7 @@ async function fillRenameMap(app, oldPath, newPath, renameMap, oldPathLinks) {
117
118
  }
118
119
  const relativePath = (0, import_Path.relative)(oldAttachmentFolderPath, oldAttachmentFile.path);
119
120
  const newDir = (0, import_Path.join)(newAttachmentFolderPath, (0, import_Path.dirname)(relativePath));
120
- const newChildBasename = settings.shouldRenameAttachmentFiles ? oldAttachmentFile.basename.replaceAll(oldBasename, newBasename) : oldAttachmentFile.basename;
121
+ const newChildBasename = settings.shouldRenameAttachmentFiles ? (0, import_String.replaceAll)(oldAttachmentFile.basename, oldBasename, newBasename) : oldAttachmentFile.basename;
121
122
  let newChildPath = (0, import_Path.join)(newDir, (0, import_Path.makeFileName)(newChildBasename, oldAttachmentFile.extension));
122
123
  if (oldAttachmentFile.path === newChildPath) {
123
124
  continue;
@@ -391,4 +392,4 @@ function shouldInvokeHandler(plugin) {
391
392
  0 && (module.exports = {
392
393
  registerRenameDeleteHandlers
393
394
  });
394
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL1JlbmFtZURlbGV0ZUhhbmRsZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIFJlbmFtZURlbGV0ZUhhbmRsZXJcbiAqIENvbnRhaW5zIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBoYW5kbGluZyByZW5hbWUgYW5kIGRlbGV0ZSBldmVudHMgaW4gT2JzaWRpYW4uXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBDYWNoZWRNZXRhZGF0YSxcbiAgUGx1Z2luLFxuICBSZWZlcmVuY2UsXG4gIFRBYnN0cmFjdEZpbGVcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBhcm91bmQgfSBmcm9tICdtb25rZXktYXJvdW5kJztcbmltcG9ydCB7XG4gIEFwcCxcbiAgVEZpbGUsXG4gIFZhdWx0XG59IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUge1xuICBVcGRhdGVMaW5rT3B0aW9ucyxcbiAgVXBkYXRlTGlua3NJbkZpbGVPcHRpb25zXG59IGZyb20gJy4vTGluay50cyc7XG5cbmltcG9ydCB7IGdldERlYnVnZ2VyIH0gZnJvbSAnLi4vRGVidWcudHMnO1xuaW1wb3J0IHsgbm9vcEFzeW5jIH0gZnJvbSAnLi4vRnVuY3Rpb24udHMnO1xuaW1wb3J0IHtcbiAgbm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzLFxuICB0b0pzb25cbn0gZnJvbSAnLi4vT2JqZWN0LnRzJztcbmltcG9ydCB7XG4gIGJhc2VuYW1lLFxuICBkaXJuYW1lLFxuICBleHRuYW1lLFxuICBqb2luLFxuICBtYWtlRmlsZU5hbWUsXG4gIHJlbGF0aXZlXG59IGZyb20gJy4uL1BhdGgudHMnO1xuaW1wb3J0IHsgZ2V0T2JzaWRpYW5EZXZVdGlsc1N0YXRlIH0gZnJvbSAnLi9BcHAudHMnO1xuaW1wb3J0IHtcbiAgZ2V0QXR0YWNobWVudEZvbGRlclBhdGgsXG4gIGhhc093bkF0dGFjaG1lbnRGb2xkZXJcbn0gZnJvbSAnLi9BdHRhY2htZW50UGF0aC50cyc7XG5pbXBvcnQge1xuICBnZXRGaWxlLFxuICBnZXRGaWxlT3JOdWxsLFxuICBnZXRGb2xkZXJPck51bGwsXG4gIGlzRmlsZSxcbiAgaXNNYXJrZG93bkZpbGUsXG4gIGlzTm90ZVxufSBmcm9tICcuL0ZpbGVTeXN0ZW0udHMnO1xuaW1wb3J0IHtcbiAgZWRpdExpbmtzLFxuICBleHRyYWN0TGlua0ZpbGUsXG4gIHVwZGF0ZUxpbmssXG4gIHVwZGF0ZUxpbmtzSW5GaWxlXG59IGZyb20gJy4vTGluay50cyc7XG5pbXBvcnQge1xuICBnZXRBbGxMaW5rcyxcbiAgZ2V0QmFja2xpbmtzRm9yRmlsZU9yUGF0aCxcbiAgZ2V0QmFja2xpbmtzRm9yRmlsZVNhZmVcbn0gZnJvbSAnLi9NZXRhZGF0YUNhY2hlLnRzJztcbmltcG9ydCB7IGFkZFRvUXVldWUgfSBmcm9tICcuL1F1ZXVlLnRzJztcbmltcG9ydCB7XG4gIGdldFNhZmVSZW5hbWVQYXRoLFxuICByZW5hbWVTYWZlXG59IGZyb20gJy4vVmF1bHQudHMnO1xuaW1wb3J0IHtcbiAgZGVsZXRlRW1wdHlGb2xkZXJIaWVyYXJjaHksXG4gIGRlbGV0ZVNhZmVcbn0gZnJvbSAnLi9WYXVsdEV4LnRzJztcblxuY29uc3QgZGVsZXRlZE1ldGFkYXRhQ2FjaGVNYXAgPSBuZXcgTWFwPHN0cmluZywgQ2FjaGVkTWV0YWRhdGE+KCk7XG5jb25zdCBoYW5kbGVkUmVuYW1lcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuY29uc3QgaW50ZXJydXB0ZWRSZW5hbWVzTWFwID0gbmV3IE1hcDxzdHJpbmcsIEludGVycnVwdGVkUmVuYW1lW10+KCk7XG5cbi8qKlxuICogU2V0dGluZ3MgZm9yIHRoZSByZW5hbWUvZGVsZXRlIGhhbmRsZXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVuYW1lRGVsZXRlSGFuZGxlclNldHRpbmdzIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gaWdub3JlIHRoZSBwYXRoLlxuICAgKi9cbiAgaXNQYXRoSWdub3JlZChwYXRoOiBzdHJpbmcpOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGRlbGV0ZSBjb25mbGljdGluZyBhdHRhY2htZW50cy5cbiAgICovXG4gIHNob3VsZERlbGV0ZUNvbmZsaWN0aW5nQXR0YWNobWVudHM6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZGVsZXRlIGVtcHR5IGZvbGRlcnMuXG4gICAqL1xuICBzaG91bGREZWxldGVFbXB0eUZvbGRlcnM6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gaGFuZGxlIGRlbGV0aW9ucy5cbiAgICovXG4gIHNob3VsZEhhbmRsZURlbGV0aW9uczogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBoYW5kbGUgcmVuYW1lcy5cbiAgICovXG4gIHNob3VsZEhhbmRsZVJlbmFtZXM6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcmVuYW1lIGF0dGFjaG1lbnQgZmlsZXMgd2hlbiBhIG5vdGUgaXMgcmVuYW1lZC5cbiAgICovXG4gIHNob3VsZFJlbmFtZUF0dGFjaG1lbnRGaWxlczogYm9vbGVhbjtcblxuICAvKipcbiAgICAqIFdoZXRoZXIgdG8gcmVuYW1lIGF0dGFjaG1lbnQgZm9sZGVyIHdoZW4gYSBub3RlIGlzIHJlbmFtZWQuXG4gICAgKi9cbiAgc2hvdWxkUmVuYW1lQXR0YWNobWVudEZvbGRlcjogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byB1cGRhdGUgZmlsZW5hbWUgYWxpYXNlcyB3aGVuIGEgbm90ZSBpcyByZW5hbWVkLlxuICAgKi9cbiAgc2hvdWxkVXBkYXRlRmlsZW5hbWVBbGlhc2VzOiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgSW50ZXJydXB0ZWRSZW5hbWUge1xuICBjb21iaW5lZEJhY2tsaW5rc01hcDogTWFwPHN0cmluZywgTWFwPHN0cmluZywgc3RyaW5nPj47XG4gIG9sZFBhdGg6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgdGhlIHJlbmFtZS9kZWxldGUgaGFuZGxlcnMuXG4gKiBAcGFyYW0gcGx1Z2luIC0gVGhlIHBsdWdpbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBzZXR0aW5nc0J1aWxkZXIgLSBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUgc2V0dGluZ3MgZm9yIHRoZSByZW5hbWUgZGVsZXRlIGhhbmRsZXIuXG4gKiBAcmV0dXJucyB2b2lkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlclJlbmFtZURlbGV0ZUhhbmRsZXJzKHBsdWdpbjogUGx1Z2luLCBzZXR0aW5nc0J1aWxkZXI6ICgpID0+IFBhcnRpYWw8UmVuYW1lRGVsZXRlSGFuZGxlclNldHRpbmdzPik6IHZvaWQge1xuICBjb25zdCByZW5hbWVEZWxldGVIYW5kbGVyc01hcCA9IGdldFJlbmFtZURlbGV0ZUhhbmRsZXJzTWFwKHBsdWdpbi5hcHApO1xuICBjb25zdCBwbHVnaW5JZCA9IHBsdWdpbi5tYW5pZmVzdC5pZDtcblxuICByZW5hbWVEZWxldGVIYW5kbGVyc01hcC5zZXQocGx1Z2luSWQsIHNldHRpbmdzQnVpbGRlcik7XG4gIGxvZ1JlZ2lzdGVyZWRIYW5kbGVycyhwbHVnaW4uYXBwKTtcblxuICBwbHVnaW4ucmVnaXN0ZXIoKCkgPT4ge1xuICAgIHJlbmFtZURlbGV0ZUhhbmRsZXJzTWFwLmRlbGV0ZShwbHVnaW5JZCk7XG4gICAgbG9nUmVnaXN0ZXJlZEhhbmRsZXJzKHBsdWdpbi5hcHApO1xuICB9KTtcblxuICBjb25zdCBhcHAgPSBwbHVnaW4uYXBwO1xuICBwbHVnaW4ucmVnaXN0ZXJFdmVudChcbiAgICBhcHAudmF1bHQub24oJ2RlbGV0ZScsIChmaWxlKSA9PiB7XG4gICAgICBoYW5kbGVEZWxldGVJZkVuYWJsZWQocGx1Z2luLCBmaWxlKTtcbiAgICB9KVxuICApO1xuXG4gIHBsdWdpbi5yZWdpc3RlckV2ZW50KFxuICAgIGFwcC52YXVsdC5vbigncmVuYW1lJywgKGZpbGUsIG9sZFBhdGgpID0+IHtcbiAgICAgIGhhbmRsZVJlbmFtZUlmRW5hYmxlZChwbHVnaW4sIGZpbGUsIG9sZFBhdGgpO1xuICAgIH0pXG4gICk7XG5cbiAgcGx1Z2luLnJlZ2lzdGVyRXZlbnQoXG4gICAgYXBwLm1ldGFkYXRhQ2FjaGUub24oJ2RlbGV0ZWQnLCAoZmlsZSwgcHJldkNhY2hlKSA9PiB7XG4gICAgICBoYW5kbGVNZXRhZGF0YURlbGV0ZWRJZkVuYWJsZWQocGx1Z2luLCBmaWxlLCBwcmV2Q2FjaGUpO1xuICAgIH0pXG4gICk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGZpbGxSZW5hbWVNYXAoYXBwOiBBcHAsIG9sZFBhdGg6IHN0cmluZywgbmV3UGF0aDogc3RyaW5nLCByZW5hbWVNYXA6IE1hcDxzdHJpbmcsIHN0cmluZz4sIG9sZFBhdGhMaW5rczogUmVmZXJlbmNlW10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgcmVuYW1lTWFwLnNldChvbGRQYXRoLCBuZXdQYXRoKTtcblxuICBpZiAoIWlzTm90ZShhcHAsIG9sZFBhdGgpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3Qgc2V0dGluZ3MgPSBnZXRTZXR0aW5ncyhhcHApO1xuXG4gIGNvbnN0IG9sZEF0dGFjaG1lbnRGb2xkZXJQYXRoID0gYXdhaXQgZ2V0QXR0YWNobWVudEZvbGRlclBhdGgoYXBwLCBvbGRQYXRoKTtcbiAgY29uc3QgbmV3QXR0YWNobWVudEZvbGRlclBhdGggPSBzZXR0aW5ncy5zaG91bGRSZW5hbWVBdHRhY2htZW50Rm9sZGVyXG4gICAgPyBhd2FpdCBnZXRBdHRhY2htZW50Rm9sZGVyUGF0aChhcHAsIG5ld1BhdGgpXG4gICAgOiBvbGRBdHRhY2htZW50Rm9sZGVyUGF0aDtcblxuICBjb25zdCBvbGRBdHRhY2htZW50Rm9sZGVyID0gZ2V0Rm9sZGVyT3JOdWxsKGFwcCwgb2xkQXR0YWNobWVudEZvbGRlclBhdGgpO1xuXG4gIGlmICghb2xkQXR0YWNobWVudEZvbGRlcikge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChvbGRBdHRhY2htZW50Rm9sZGVyUGF0aCA9PT0gbmV3QXR0YWNobWVudEZvbGRlclBhdGggJiYgIXNldHRpbmdzLnNob3VsZFJlbmFtZUF0dGFjaG1lbnRGaWxlcykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IG9sZEF0dGFjaG1lbnRGaWxlczogVEZpbGVbXSA9IFtdO1xuXG4gIGlmICghKGF3YWl0IGhhc093bkF0dGFjaG1lbnRGb2xkZXIoYXBwLCBvbGRQYXRoKSkpIHtcbiAgICBmb3IgKGNvbnN0IG9sZFBhdGhMaW5rIG9mIG9sZFBhdGhMaW5rcykge1xuICAgICAgY29uc3Qgb2xkQXR0YWNobWVudEZpbGUgPSBleHRyYWN0TGlua0ZpbGUoYXBwLCBvbGRQYXRoTGluaywgb2xkUGF0aCk7XG4gICAgICBpZiAoIW9sZEF0dGFjaG1lbnRGaWxlKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAob2xkQXR0YWNobWVudEZpbGUucGF0aC5zdGFydHNXaXRoKG9sZEF0dGFjaG1lbnRGb2xkZXJQYXRoKSkge1xuICAgICAgICBjb25zdCBvbGRBdHRhY2htZW50QmFja2xpbmtzID0gYXdhaXQgZ2V0QmFja2xpbmtzRm9yRmlsZVNhZmUoYXBwLCBvbGRBdHRhY2htZW50RmlsZSk7XG4gICAgICAgIGlmIChvbGRBdHRhY2htZW50QmFja2xpbmtzLmtleXMoKS5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICBvbGRBdHRhY2htZW50RmlsZXMucHVzaChvbGRBdHRhY2htZW50RmlsZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgVmF1bHQucmVjdXJzZUNoaWxkcmVuKG9sZEF0dGFjaG1lbnRGb2xkZXIsIChvbGRBdHRhY2htZW50RmlsZSkgPT4ge1xuICAgICAgaWYgKGlzRmlsZShvbGRBdHRhY2htZW50RmlsZSkpIHtcbiAgICAgICAgb2xkQXR0YWNobWVudEZpbGVzLnB1c2gob2xkQXR0YWNobWVudEZpbGUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgY29uc3Qgb2xkQmFzZW5hbWUgPSBiYXNlbmFtZShvbGRQYXRoLCBleHRuYW1lKG9sZFBhdGgpKTtcbiAgY29uc3QgbmV3QmFzZW5hbWUgPSBiYXNlbmFtZShuZXdQYXRoLCBleHRuYW1lKG5ld1BhdGgpKTtcblxuICBmb3IgKGNvbnN0IG9sZEF0dGFjaG1lbnRGaWxlIG9mIG9sZEF0dGFjaG1lbnRGaWxlcykge1xuICAgIGlmIChpc05vdGUoYXBwLCBvbGRBdHRhY2htZW50RmlsZSkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBjb25zdCByZWxhdGl2ZVBhdGggPSByZWxhdGl2ZShvbGRBdHRhY2htZW50Rm9sZGVyUGF0aCwgb2xkQXR0YWNobWVudEZpbGUucGF0aCk7XG4gICAgY29uc3QgbmV3RGlyID0gam9pbihuZXdBdHRhY2htZW50Rm9sZGVyUGF0aCwgZGlybmFtZShyZWxhdGl2ZVBhdGgpKTtcbiAgICBjb25zdCBuZXdDaGlsZEJhc2VuYW1lID0gc2V0dGluZ3Muc2hvdWxkUmVuYW1lQXR0YWNobWVudEZpbGVzXG4gICAgICA/IG9sZEF0dGFjaG1lbnRGaWxlLmJhc2VuYW1lLnJlcGxhY2VBbGwob2xkQmFzZW5hbWUsIG5ld0Jhc2VuYW1lKVxuICAgICAgOiBvbGRBdHRhY2htZW50RmlsZS5iYXNlbmFtZTtcbiAgICBsZXQgbmV3Q2hpbGRQYXRoID0gam9pbihuZXdEaXIsIG1ha2VGaWxlTmFtZShuZXdDaGlsZEJhc2VuYW1lLCBvbGRBdHRhY2htZW50RmlsZS5leHRlbnNpb24pKTtcblxuICAgIGlmIChvbGRBdHRhY2htZW50RmlsZS5wYXRoID09PSBuZXdDaGlsZFBhdGgpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmIChzZXR0aW5ncy5zaG91bGREZWxldGVDb25mbGljdGluZ0F0dGFjaG1lbnRzKSB7XG4gICAgICBjb25zdCBuZXdDaGlsZEZpbGUgPSBnZXRGaWxlT3JOdWxsKGFwcCwgbmV3Q2hpbGRQYXRoKTtcbiAgICAgIGlmIChuZXdDaGlsZEZpbGUpIHtcbiAgICAgICAgYXdhaXQgYXBwLmZpbGVNYW5hZ2VyLnRyYXNoRmlsZShuZXdDaGlsZEZpbGUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBuZXdDaGlsZFBhdGggPSBhcHAudmF1bHQuZ2V0QXZhaWxhYmxlUGF0aChqb2luKG5ld0RpciwgbmV3Q2hpbGRCYXNlbmFtZSksIG9sZEF0dGFjaG1lbnRGaWxlLmV4dGVuc2lvbik7XG4gICAgfVxuICAgIHJlbmFtZU1hcC5zZXQob2xkQXR0YWNobWVudEZpbGUucGF0aCwgbmV3Q2hpbGRQYXRoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRSZW5hbWVEZWxldGVIYW5kbGVyc01hcChhcHA6IEFwcCk6IE1hcDxzdHJpbmcsICgpID0+IFBhcnRpYWw8UmVuYW1lRGVsZXRlSGFuZGxlclNldHRpbmdzPj4ge1xuICByZXR1cm4gZ2V0T2JzaWRpYW5EZXZVdGlsc1N0YXRlKGFwcCwgJ3JlbmFtZURlbGV0ZUhhbmRsZXJzTWFwJywgbmV3IE1hcDxzdHJpbmcsICgpID0+IFBhcnRpYWw8UmVuYW1lRGVsZXRlSGFuZGxlclNldHRpbmdzPj4oKSkudmFsdWU7XG59XG5cbmZ1bmN0aW9uIGdldFNldHRpbmdzKGFwcDogQXBwKTogUGFydGlhbDxSZW5hbWVEZWxldGVIYW5kbGVyU2V0dGluZ3M+IHtcbiAgY29uc3QgcmVuYW1lRGVsZXRlSGFuZGxlcnNNYXAgPSBnZXRSZW5hbWVEZWxldGVIYW5kbGVyc01hcChhcHApO1xuICBjb25zdCBzZXR0aW5nc0J1aWxkZXJzID0gQXJyYXkuZnJvbShyZW5hbWVEZWxldGVIYW5kbGVyc01hcC52YWx1ZXMoKSkucmV2ZXJzZSgpO1xuXG4gIGNvbnN0IHNldHRpbmdzOiBQYXJ0aWFsPFJlbmFtZURlbGV0ZUhhbmRsZXJTZXR0aW5ncz4gPSB7fTtcbiAgZm9yIChjb25zdCBzZXR0aW5nc0J1aWxkZXIgb2Ygc2V0dGluZ3NCdWlsZGVycykge1xuICAgIGNvbnN0IG5ld1NldHRpbmdzID0gc2V0dGluZ3NCdWlsZGVyKCk7XG4gICAgc2V0dGluZ3Muc2hvdWxkRGVsZXRlQ29uZmxpY3RpbmdBdHRhY2htZW50cyB8fD0gbmV3U2V0dGluZ3Muc2hvdWxkRGVsZXRlQ29uZmxpY3RpbmdBdHRhY2htZW50cyA/PyBmYWxzZTtcbiAgICBzZXR0aW5ncy5zaG91bGREZWxldGVFbXB0eUZvbGRlcnMgfHw9IG5ld1NldHRpbmdzLnNob3VsZERlbGV0ZUVtcHR5Rm9sZGVycyA/PyBmYWxzZTtcbiAgICBzZXR0aW5ncy5zaG91bGRIYW5kbGVEZWxldGlvbnMgfHw9IG5ld1NldHRpbmdzLnNob3VsZEhhbmRsZURlbGV0aW9ucyA/PyBmYWxzZTtcbiAgICBzZXR0aW5ncy5zaG91bGRIYW5kbGVSZW5hbWVzIHx8PSBuZXdTZXR0aW5ncy5zaG91bGRIYW5kbGVSZW5hbWVzID8/IGZhbHNlO1xuICAgIHNldHRpbmdzLnNob3VsZFJlbmFtZUF0dGFjaG1lbnRGaWxlcyB8fD0gbmV3U2V0dGluZ3Muc2hvdWxkUmVuYW1lQXR0YWNobWVudEZpbGVzID8/IGZhbHNlO1xuICAgIHNldHRpbmdzLnNob3VsZFJlbmFtZUF0dGFjaG1lbnRGb2xkZXIgfHw9IG5ld1NldHRpbmdzLnNob3VsZFJlbmFtZUF0dGFjaG1lbnRGb2xkZXIgPz8gZmFsc2U7XG4gICAgc2V0dGluZ3Muc2hvdWxkVXBkYXRlRmlsZW5hbWVBbGlhc2VzIHx8PSBuZXdTZXR0aW5ncy5zaG91bGRVcGRhdGVGaWxlbmFtZUFsaWFzZXMgPz8gZmFsc2U7XG4gICAgY29uc3QgaXNQYXRoSWdub3JlZCA9IHNldHRpbmdzLmlzUGF0aElnbm9yZWQ7XG4gICAgc2V0dGluZ3MuaXNQYXRoSWdub3JlZCA9IChwYXRoOiBzdHJpbmcpOiBib29sZWFuID0+IGlzUGF0aElnbm9yZWQ/LihwYXRoKSA/PyBuZXdTZXR0aW5ncy5pc1BhdGhJZ25vcmVkPy4ocGF0aCkgPz8gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gc2V0dGluZ3M7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGhhbmRsZURlbGV0ZShhcHA6IEFwcCwgcGF0aDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGdldERlYnVnZ2VyKCdvYnNpZGlhbi1kZXYtdXRpbHM6UmVuYW1lRGVsZXRlSGFuZGxlcjpoYW5kbGVEZWxldGUnKShgSGFuZGxlIERlbGV0ZSAke3BhdGh9YCk7XG4gIGlmICghaXNOb3RlKGFwcCwgcGF0aCkpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBzZXR0aW5ncyA9IGdldFNldHRpbmdzKGFwcCk7XG4gIGlmICghc2V0dGluZ3Muc2hvdWxkSGFuZGxlRGVsZXRpb25zKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKHNldHRpbmdzLmlzUGF0aElnbm9yZWQ/LihwYXRoKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGNhY2hlID0gZGVsZXRlZE1ldGFkYXRhQ2FjaGVNYXAuZ2V0KHBhdGgpO1xuICBkZWxldGVkTWV0YWRhdGFDYWNoZU1hcC5kZWxldGUocGF0aCk7XG4gIGlmIChjYWNoZSkge1xuICAgIGNvbnN0IGxpbmtzID0gZ2V0QWxsTGlua3MoY2FjaGUpO1xuXG4gICAgZm9yIChjb25zdCBsaW5rIG9mIGxpbmtzKSB7XG4gICAgICBjb25zdCBhdHRhY2htZW50RmlsZSA9IGV4dHJhY3RMaW5rRmlsZShhcHAsIGxpbmssIHBhdGgpO1xuICAgICAgaWYgKCFhdHRhY2htZW50RmlsZSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzTm90ZShhcHAsIGF0dGFjaG1lbnRGaWxlKSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgYXdhaXQgZGVsZXRlU2FmZShhcHAsIGF0dGFjaG1lbnRGaWxlLCBwYXRoLCBzZXR0aW5ncy5zaG91bGREZWxldGVFbXB0eUZvbGRlcnMpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGF0dGFjaG1lbnRGb2xkZXJQYXRoID0gYXdhaXQgZ2V0QXR0YWNobWVudEZvbGRlclBhdGgoYXBwLCBwYXRoKTtcbiAgY29uc3QgYXR0YWNobWVudEZvbGRlciA9IGdldEZvbGRlck9yTnVsbChhcHAsIGF0dGFjaG1lbnRGb2xkZXJQYXRoKTtcblxuICBpZiAoIWF0dGFjaG1lbnRGb2xkZXIpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoIShhd2FpdCBoYXNPd25BdHRhY2htZW50Rm9sZGVyKGFwcCwgcGF0aCkpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgYXdhaXQgZGVsZXRlU2FmZShhcHAsIGF0dGFjaG1lbnRGb2xkZXIsIHBhdGgsIGZhbHNlLCBzZXR0aW5ncy5zaG91bGREZWxldGVFbXB0eUZvbGRlcnMpO1xufVxuXG5mdW5jdGlvbiBoYW5kbGVEZWxldGVJZkVuYWJsZWQocGx1Z2luOiBQbHVnaW4sIGZpbGU6IFRBYnN0cmFjdEZpbGUpOiB2b2lkIHtcbiAgY29uc3QgYXBwID0gcGx1Z2luLmFwcDtcbiAgaWYgKCFzaG91bGRJbnZva2VIYW5kbGVyKHBsdWdpbikpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgcGF0aCA9IGZpbGUucGF0aDtcbiAgYWRkVG9RdWV1ZShhcHAsICgpID0+IGhhbmRsZURlbGV0ZShhcHAsIHBhdGgpKTtcbn1cblxuZnVuY3Rpb24gaGFuZGxlTWV0YWRhdGFEZWxldGVkKGFwcDogQXBwLCBmaWxlOiBUQWJzdHJhY3RGaWxlLCBwcmV2Q2FjaGU6IENhY2hlZE1ldGFkYXRhIHwgbnVsbCk6IHZvaWQge1xuICBjb25zdCBzZXR0aW5ncyA9IGdldFNldHRpbmdzKGFwcCk7XG4gIGlmIChzZXR0aW5ncy5pc1BhdGhJZ25vcmVkPy4oZmlsZS5wYXRoKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmICghc2V0dGluZ3Muc2hvdWxkSGFuZGxlRGVsZXRpb25zKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmIChpc01hcmtkb3duRmlsZShhcHAsIGZpbGUpICYmIHByZXZDYWNoZSkge1xuICAgIGRlbGV0ZWRNZXRhZGF0YUNhY2hlTWFwLnNldChmaWxlLnBhdGgsIHByZXZDYWNoZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaGFuZGxlTWV0YWRhdGFEZWxldGVkSWZFbmFibGVkKHBsdWdpbjogUGx1Z2luLCBmaWxlOiBUQWJzdHJhY3RGaWxlLCBwcmV2Q2FjaGU6IENhY2hlZE1ldGFkYXRhIHwgbnVsbCk6IHZvaWQge1xuICBpZiAoIXNob3VsZEludm9rZUhhbmRsZXIocGx1Z2luKSkge1xuICAgIHJldHVybjtcbiAgfVxuICBoYW5kbGVNZXRhZGF0YURlbGV0ZWQocGx1Z2luLmFwcCwgZmlsZSwgcHJldkNhY2hlKTtcbn1cblxuZnVuY3Rpb24gaGFuZGxlUmVuYW1lKGFwcDogQXBwLCBvbGRQYXRoOiBzdHJpbmcsIG5ld1BhdGg6IHN0cmluZyk6IHZvaWQge1xuICBjb25zdCBrZXkgPSBtYWtlS2V5KG9sZFBhdGgsIG5ld1BhdGgpO1xuICBnZXREZWJ1Z2dlcignb2JzaWRpYW4tZGV2LXV0aWxzOlJlbmFtZURlbGV0ZUhhbmRsZXI6aGFuZGxlUmVuYW1lJykoYEhhbmRsZSBSZW5hbWUgJHtrZXl9YCk7XG4gIGlmIChoYW5kbGVkUmVuYW1lcy5oYXMoa2V5KSkge1xuICAgIGhhbmRsZWRSZW5hbWVzLmRlbGV0ZShrZXkpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHNldHRpbmdzID0gZ2V0U2V0dGluZ3MoYXBwKTtcbiAgaWYgKCFzZXR0aW5ncy5zaG91bGRIYW5kbGVSZW5hbWVzIHx8IHNldHRpbmdzLmlzUGF0aElnbm9yZWQ/LihvbGRQYXRoKSB8fCBzZXR0aW5ncy5pc1BhdGhJZ25vcmVkPy4obmV3UGF0aCkpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBjYWNoZSA9IGFwcC5tZXRhZGF0YUNhY2hlLmdldENhY2hlKG9sZFBhdGgpID8/IGFwcC5tZXRhZGF0YUNhY2hlLmdldENhY2hlKG5ld1BhdGgpO1xuICBjb25zdCBvbGRQYXRoTGlua3MgPSBjYWNoZSA/IGdldEFsbExpbmtzKGNhY2hlKSA6IFtdO1xuICBjb25zdCBvbGRQYXRoQmFja2xpbmtzTWFwID0gZ2V0QmFja2xpbmtzRm9yRmlsZU9yUGF0aChhcHAsIG9sZFBhdGgpLmRhdGE7XG4gIGFkZFRvUXVldWUoYXBwLCAoKSA9PiBoYW5kbGVSZW5hbWVBc3luYyhhcHAsIG9sZFBhdGgsIG5ld1BhdGgsIG9sZFBhdGhCYWNrbGlua3NNYXAsIG9sZFBhdGhMaW5rcykpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBoYW5kbGVSZW5hbWVBc3luYyhhcHA6IEFwcCwgb2xkUGF0aDogc3RyaW5nLCBuZXdQYXRoOiBzdHJpbmcsIG9sZFBhdGhCYWNrbGlua3NNYXA6IE1hcDxzdHJpbmcsIFJlZmVyZW5jZVtdPiwgb2xkUGF0aExpbmtzOiBSZWZlcmVuY2VbXSwgaW50ZXJydXB0ZWRDb21iaW5lZEJhY2tsaW5rc01hcD86IE1hcDxzdHJpbmcsIE1hcDxzdHJpbmcsIHN0cmluZz4+KTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IGludGVycnVwdGVkUmVuYW1lcyA9IGludGVycnVwdGVkUmVuYW1lc01hcC5nZXQob2xkUGF0aCk7XG4gIGlmIChpbnRlcnJ1cHRlZFJlbmFtZXMpIHtcbiAgICBpbnRlcnJ1cHRlZFJlbmFtZXNNYXAuZGVsZXRlKG9sZFBhdGgpO1xuICAgIGZvciAoY29uc3QgaW50ZXJydXB0ZWRSZW5hbWUgb2YgaW50ZXJydXB0ZWRSZW5hbWVzKSB7XG4gICAgICBhd2FpdCBoYW5kbGVSZW5hbWVBc3luYyhhcHAsIGludGVycnVwdGVkUmVuYW1lLm9sZFBhdGgsIG5ld1BhdGgsIG9sZFBhdGhCYWNrbGlua3NNYXAsIG9sZFBhdGhMaW5rcywgaW50ZXJydXB0ZWRSZW5hbWUuY29tYmluZWRCYWNrbGlua3NNYXApO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGNhY2hlID0gYXBwLm1ldGFkYXRhQ2FjaGUuZ2V0Q2FjaGUob2xkUGF0aCkgPz8gYXBwLm1ldGFkYXRhQ2FjaGUuZ2V0Q2FjaGUobmV3UGF0aCk7XG4gIGNvbnN0IG9sZFBhdGhMaW5rczIgPSBjYWNoZSA/IGdldEFsbExpbmtzKGNhY2hlKSA6IFtdO1xuICBjb25zdCBvbGRQYXRoQmFja2xpbmtzTWFwMiA9IGdldEJhY2tsaW5rc0ZvckZpbGVPclBhdGgoYXBwLCBvbGRQYXRoKS5kYXRhO1xuXG4gIGZvciAoY29uc3QgbGluayBvZiBvbGRQYXRoTGlua3MyKSB7XG4gICAgaWYgKG9sZFBhdGhMaW5rcy5pbmNsdWRlcyhsaW5rKSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIG9sZFBhdGhMaW5rcy5wdXNoKGxpbmspO1xuICB9XG5cbiAgaWYgKGFwcC52YXVsdC5hZGFwdGVyLmluc2Vuc2l0aXZlICYmIG9sZFBhdGgudG9Mb3dlckNhc2UoKSA9PT0gbmV3UGF0aC50b0xvd2VyQ2FzZSgpKSB7XG4gICAgY29uc3QgdGVtcFBhdGggPSBqb2luKGRpcm5hbWUobmV3UGF0aCksICdfX3RlbXBfXycgKyBiYXNlbmFtZShuZXdQYXRoKSk7XG4gICAgYXdhaXQgcmVuYW1lSGFuZGxlZChhcHAsIG5ld1BhdGgsIHRlbXBQYXRoKTtcbiAgICBhd2FpdCBoYW5kbGVSZW5hbWVBc3luYyhhcHAsIG9sZFBhdGgsIHRlbXBQYXRoLCBvbGRQYXRoQmFja2xpbmtzTWFwLCBvbGRQYXRoTGlua3MpO1xuICAgIGF3YWl0IGFwcC52YXVsdC5yZW5hbWUoZ2V0RmlsZShhcHAsIHRlbXBQYXRoKSwgbmV3UGF0aCk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgcmVzdG9yZVVwZGF0ZUFsbExpbmtzID0gYXJvdW5kKGFwcC5maWxlTWFuYWdlciwge1xuICAgIHVwZGF0ZUFsbExpbmtzOiAoKSA9PiBub29wQXN5bmNcbiAgfSk7XG4gIHRyeSB7XG4gICAgY29uc3QgcmVuYW1lTWFwID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcbiAgICBhd2FpdCBmaWxsUmVuYW1lTWFwKGFwcCwgb2xkUGF0aCwgbmV3UGF0aCwgcmVuYW1lTWFwLCBvbGRQYXRoTGlua3MpO1xuXG4gICAgY29uc3QgY29tYmluZWRCYWNrbGlua3NNYXAgPSBuZXcgTWFwPHN0cmluZywgTWFwPHN0cmluZywgc3RyaW5nPj4oKTtcbiAgICBpbml0QmFja2xpbmtzTWFwKG9sZFBhdGhCYWNrbGlua3NNYXAsIHJlbmFtZU1hcCwgY29tYmluZWRCYWNrbGlua3NNYXAsIG9sZFBhdGgpO1xuICAgIGluaXRCYWNrbGlua3NNYXAob2xkUGF0aEJhY2tsaW5rc01hcDIsIHJlbmFtZU1hcCwgY29tYmluZWRCYWNrbGlua3NNYXAsIG9sZFBhdGgpO1xuXG4gICAgZm9yIChjb25zdCBhdHRhY2htZW50T2xkUGF0aCBvZiByZW5hbWVNYXAua2V5cygpKSB7XG4gICAgICBpZiAoYXR0YWNobWVudE9sZFBhdGggPT09IG9sZFBhdGgpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBjb25zdCBhdHRhY2htZW50T2xkUGF0aEJhY2tsaW5rc01hcCA9IChhd2FpdCBnZXRCYWNrbGlua3NGb3JGaWxlU2FmZShhcHAsIGF0dGFjaG1lbnRPbGRQYXRoKSkuZGF0YTtcbiAgICAgIGluaXRCYWNrbGlua3NNYXAoYXR0YWNobWVudE9sZFBhdGhCYWNrbGlua3NNYXAsIHJlbmFtZU1hcCwgY29tYmluZWRCYWNrbGlua3NNYXAsIGF0dGFjaG1lbnRPbGRQYXRoKTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJlbnRGb2xkZXJzID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgICBmb3IgKGNvbnN0IFtvbGRBdHRhY2htZW50UGF0aCwgbmV3QXR0YWNobWVudFBhdGhdIG9mIHJlbmFtZU1hcC5lbnRyaWVzKCkpIHtcbiAgICAgIGlmIChvbGRBdHRhY2htZW50UGF0aCA9PT0gb2xkUGF0aCkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGZpeGVkTmV3QXR0YWNobWVudFBhdGggPSBhd2FpdCByZW5hbWVIYW5kbGVkKGFwcCwgb2xkQXR0YWNobWVudFBhdGgsIG5ld0F0dGFjaG1lbnRQYXRoKTtcbiAgICAgIHJlbmFtZU1hcC5zZXQob2xkQXR0YWNobWVudFBhdGgsIGZpeGVkTmV3QXR0YWNobWVudFBhdGgpO1xuICAgICAgcGFyZW50Rm9sZGVycy5hZGQoZGlybmFtZShvbGRBdHRhY2htZW50UGF0aCkpO1xuICAgIH1cblxuICAgIGNvbnN0IHNldHRpbmdzID0gZ2V0U2V0dGluZ3MoYXBwKTtcbiAgICBpZiAoc2V0dGluZ3Muc2hvdWxkRGVsZXRlRW1wdHlGb2xkZXJzKSB7XG4gICAgICBmb3IgKGNvbnN0IHBhcmVudEZvbGRlciBvZiBwYXJlbnRGb2xkZXJzKSB7XG4gICAgICAgIGF3YWl0IGRlbGV0ZUVtcHR5Rm9sZGVySGllcmFyY2h5KGFwcCwgcGFyZW50Rm9sZGVyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IFtuZXdCYWNrbGlua1BhdGgsIGxpbmtKc29uVG9QYXRoTWFwXSBvZiBBcnJheS5mcm9tKGNvbWJpbmVkQmFja2xpbmtzTWFwLmVudHJpZXMoKSkuY29uY2F0KEFycmF5LmZyb20oaW50ZXJydXB0ZWRDb21iaW5lZEJhY2tsaW5rc01hcD8uZW50cmllcygpID8/IFtdKSkpIHtcbiAgICAgIGF3YWl0IGVkaXRMaW5rcyhhcHAsIG5ld0JhY2tsaW5rUGF0aCwgKGxpbmspID0+IHtcbiAgICAgICAgY29uc3Qgb2xkQXR0YWNobWVudFBhdGggPSBsaW5rSnNvblRvUGF0aE1hcC5nZXQodG9Kc29uKGxpbmspKTtcbiAgICAgICAgaWYgKCFvbGRBdHRhY2htZW50UGF0aCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5ld0F0dGFjaG1lbnRQYXRoID0gcmVuYW1lTWFwLmdldChvbGRBdHRhY2htZW50UGF0aCk7XG4gICAgICAgIGlmICghbmV3QXR0YWNobWVudFBhdGgpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdXBkYXRlTGluayhub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXM8VXBkYXRlTGlua09wdGlvbnM+KHtcbiAgICAgICAgICBhcHA6IGFwcCxcbiAgICAgICAgICBsaW5rLFxuICAgICAgICAgIG5ld1NvdXJjZVBhdGhPckZpbGU6IG5ld0JhY2tsaW5rUGF0aCxcbiAgICAgICAgICBuZXdUYXJnZXRQYXRoT3JGaWxlOiBuZXdBdHRhY2htZW50UGF0aCxcbiAgICAgICAgICBvbGRUYXJnZXRQYXRoT3JGaWxlOiBvbGRBdHRhY2htZW50UGF0aCxcbiAgICAgICAgICBzaG91bGRVcGRhdGVGaWxlbmFtZUFsaWFzOiBzZXR0aW5ncy5zaG91bGRVcGRhdGVGaWxlbmFtZUFsaWFzZXNcbiAgICAgICAgfSkpO1xuICAgICAgfSwge1xuICAgICAgICBzaG91bGRGYWlsT25NaXNzaW5nRmlsZTogZmFsc2VcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChpc05vdGUoYXBwLCBuZXdQYXRoKSkge1xuICAgICAgYXdhaXQgdXBkYXRlTGlua3NJbkZpbGUobm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzPFVwZGF0ZUxpbmtzSW5GaWxlT3B0aW9ucz4oe1xuICAgICAgICBhcHAsXG4gICAgICAgIG5ld1NvdXJjZVBhdGhPckZpbGU6IG5ld1BhdGgsXG4gICAgICAgIG9sZFNvdXJjZVBhdGhPckZpbGU6IG9sZFBhdGgsXG4gICAgICAgIHNob3VsZEZhaWxPbk1pc3NpbmdGaWxlOiBmYWxzZSxcbiAgICAgICAgc2hvdWxkVXBkYXRlRmlsZW5hbWVBbGlhczogc2V0dGluZ3Muc2hvdWxkVXBkYXRlRmlsZW5hbWVBbGlhc2VzXG4gICAgICB9KSk7XG4gICAgfVxuXG4gICAgaWYgKCFnZXRGaWxlT3JOdWxsKGFwcCwgbmV3UGF0aCkpIHtcbiAgICAgIGxldCBpbnRlcnJ1cHRlZFJlbmFtZXMgPSBpbnRlcnJ1cHRlZFJlbmFtZXNNYXAuZ2V0KG5ld1BhdGgpO1xuICAgICAgaWYgKCFpbnRlcnJ1cHRlZFJlbmFtZXMpIHtcbiAgICAgICAgaW50ZXJydXB0ZWRSZW5hbWVzID0gW107XG4gICAgICAgIGludGVycnVwdGVkUmVuYW1lc01hcC5zZXQobmV3UGF0aCwgaW50ZXJydXB0ZWRSZW5hbWVzKTtcbiAgICAgIH1cbiAgICAgIGludGVycnVwdGVkUmVuYW1lcy5wdXNoKHtcbiAgICAgICAgY29tYmluZWRCYWNrbGlua3NNYXAsXG4gICAgICAgIG9sZFBhdGhcbiAgICAgIH0pO1xuICAgIH1cbiAgfSBmaW5hbGx5IHtcbiAgICByZXN0b3JlVXBkYXRlQWxsTGlua3MoKTtcbiAgICBjb25zdCBvcnBoYW5LZXlzID0gQXJyYXkuZnJvbShoYW5kbGVkUmVuYW1lcyk7XG4gICAgYWRkVG9RdWV1ZShhcHAsICgpID0+IHtcbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIG9ycGhhbktleXMpIHtcbiAgICAgICAgaGFuZGxlZFJlbmFtZXMuZGVsZXRlKGtleSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaGFuZGxlUmVuYW1lSWZFbmFibGVkKHBsdWdpbjogUGx1Z2luLCBmaWxlOiBUQWJzdHJhY3RGaWxlLCBvbGRQYXRoOiBzdHJpbmcpOiB2b2lkIHtcbiAgaWYgKCFzaG91bGRJbnZva2VIYW5kbGVyKHBsdWdpbikpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKCFpc0ZpbGUoZmlsZSkpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgbmV3UGF0aCA9IGZpbGUucGF0aDtcbiAgaGFuZGxlUmVuYW1lKHBsdWdpbi5hcHAsIG9sZFBhdGgsIG5ld1BhdGgpO1xufVxuXG5mdW5jdGlvbiBpbml0QmFja2xpbmtzTWFwKHNpbmdsZUJhY2tsaW5rc01hcDogTWFwPHN0cmluZywgUmVmZXJlbmNlW10+LCByZW5hbWVNYXA6IE1hcDxzdHJpbmcsIHN0cmluZz4sIGNvbWJpbmVkQmFja2xpbmtzTWFwOiBNYXA8c3RyaW5nLCBNYXA8c3RyaW5nLCBzdHJpbmc+PiwgcGF0aDogc3RyaW5nKTogdm9pZCB7XG4gIGZvciAoY29uc3QgW2JhY2tsaW5rUGF0aCwgbGlua3NdIG9mIHNpbmdsZUJhY2tsaW5rc01hcC5lbnRyaWVzKCkpIHtcbiAgICBjb25zdCBuZXdCYWNrbGlua1BhdGggPSByZW5hbWVNYXAuZ2V0KGJhY2tsaW5rUGF0aCkgPz8gYmFja2xpbmtQYXRoO1xuICAgIGNvbnN0IGxpbmtKc29uVG9QYXRoTWFwID0gY29tYmluZWRCYWNrbGlua3NNYXAuZ2V0KG5ld0JhY2tsaW5rUGF0aCkgPz8gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcbiAgICBjb21iaW5lZEJhY2tsaW5rc01hcC5zZXQobmV3QmFja2xpbmtQYXRoLCBsaW5rSnNvblRvUGF0aE1hcCk7XG4gICAgZm9yIChjb25zdCBsaW5rIG9mIGxpbmtzKSB7XG4gICAgICBsaW5rSnNvblRvUGF0aE1hcC5zZXQodG9Kc29uKGxpbmspLCBwYXRoKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gbG9nUmVnaXN0ZXJlZEhhbmRsZXJzKGFwcDogQXBwKTogdm9pZCB7XG4gIGNvbnN0IHJlbmFtZURlbGV0ZUhhbmRsZXJzTWFwID0gZ2V0UmVuYW1lRGVsZXRlSGFuZGxlcnNNYXAoYXBwKTtcbiAgZ2V0RGVidWdnZXIoJ29ic2lkaWFuLWRldi11dGlsczpSZW5hbWVEZWxldGVIYW5kbGVyOmxvZ1JlZ2lzdGVyZWRIYW5kbGVycycpKGBQbHVnaW5zIHdpdGggcmVnaXN0ZXJlZCByZW5hbWUvZGVsZXRlIGhhbmRsZXJzOiAke0pTT04uc3RyaW5naWZ5KEFycmF5LmZyb20ocmVuYW1lRGVsZXRlSGFuZGxlcnNNYXAua2V5cygpKSl9YCk7XG59XG5cbmZ1bmN0aW9uIG1ha2VLZXkob2xkUGF0aDogc3RyaW5nLCBuZXdQYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYCR7b2xkUGF0aH0gLT4gJHtuZXdQYXRofWA7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJlbmFtZUhhbmRsZWQoYXBwOiBBcHAsIG9sZFBhdGg6IHN0cmluZywgbmV3UGF0aDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgbmV3UGF0aCA9IGdldFNhZmVSZW5hbWVQYXRoKGFwcCwgb2xkUGF0aCwgbmV3UGF0aCk7XG4gIGlmIChvbGRQYXRoID09PSBuZXdQYXRoKSB7XG4gICAgcmV0dXJuIG5ld1BhdGg7XG4gIH1cbiAgY29uc3Qga2V5ID0gbWFrZUtleShvbGRQYXRoLCBuZXdQYXRoKTtcbiAgaGFuZGxlZFJlbmFtZXMuYWRkKGtleSk7XG4gIG5ld1BhdGggPSBhd2FpdCByZW5hbWVTYWZlKGFwcCwgb2xkUGF0aCwgbmV3UGF0aCk7XG4gIHJldHVybiBuZXdQYXRoO1xufVxuXG5mdW5jdGlvbiBzaG91bGRJbnZva2VIYW5kbGVyKHBsdWdpbjogUGx1Z2luKTogYm9vbGVhbiB7XG4gIGNvbnN0IGFwcCA9IHBsdWdpbi5hcHA7XG4gIGNvbnN0IHBsdWdpbklkID0gcGx1Z2luLm1hbmlmZXN0LmlkO1xuXG4gIGNvbnN0IHJlbmFtZURlbGV0ZUhhbmRsZXJQbHVnaW5JZHMgPSBnZXRSZW5hbWVEZWxldGVIYW5kbGVyc01hcChhcHApO1xuICBjb25zdCBtYWluUGx1Z2luSWQgPSBBcnJheS5mcm9tKHJlbmFtZURlbGV0ZUhhbmRsZXJQbHVnaW5JZHMua2V5cygpKVswXTtcbiAgaWYgKG1haW5QbHVnaW5JZCAhPT0gcGx1Z2luSWQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBWUEsMkJBQXVCO0FBQ3ZCLHNCQUlPO0FBT1AsbUJBQTRCO0FBQzVCLHNCQUEwQjtBQUMxQixvQkFHTztBQUNQLGtCQU9PO0FBQ1AsaUJBQXlDO0FBQ3pDLDRCQUdPO0FBQ1Asd0JBT087QUFDUCxrQkFLTztBQUNQLDJCQUlPO0FBQ1AsbUJBQTJCO0FBQzNCLG1CQUdPO0FBQ1AscUJBR087QUFFUCxNQUFNLDBCQUEwQixvQkFBSSxJQUE0QjtBQUNoRSxNQUFNLGlCQUFpQixvQkFBSSxJQUFZO0FBQ3ZDLE1BQU0s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O0FBQUEsRUFDRjtBQUNBLE1BQUksS0FBQywwQkFBTyxJQUFJLEdBQUc7QUFDakI7QUFBQSxFQUNGO0FBQ0EsUUFBTSxVQUFVLEtBQUs7QUFDckIsZUFBYSxPQUFPLEtBQUssU0FBUyxPQUFPO0FBQzNDO0FBRUEsU0FBUyxpQkFBaUIsb0JBQThDLFdBQWdDLHNCQUF3RCxNQUFvQjtBQUNsTCxhQUFXLENBQUMsY0FBYyxLQUFLLEtBQUssbUJBQW1CLFFBQVEsR0FBRztBQUNoRSxVQUFNLGtCQUFrQixVQUFVLElBQUksWUFBWSxLQUFLO0FBQ3ZELFVBQU0sb0JBQW9CLHFCQUFxQixJQUFJLGVBQWUsS0FBSyxvQkFBSSxJQUFvQjtBQUMvRix5QkFBcUIsSUFBSSxpQkFBaUIsaUJBQWlCO0FBQzNELGVBQVcsUUFBUSxPQUFPO0FBQ3hCLHdCQUFrQixRQUFJLHNCQUFPLElBQUksR0FBRyxJQUFJO0FBQUEsSUFDMUM7QUFBQSxFQUNGO0FBQ0Y7QUFFQSxTQUFTLHNCQUFzQixLQUFnQjtBQUM3QyxRQUFNLDBCQUEwQiwyQkFBMkIsR0FBRztBQUM5RCxnQ0FBWSw4REFBOEQsRUFBRSxtREFBbUQsS0FBSyxVQUFVLE1BQU0sS0FBSyx3QkFBd0IsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFO0FBQzdMO0FBRUEsU0FBUyxRQUFRLFNBQWlCLFNBQXlCO0FBQ3pELFNBQU8sR0FBRyxPQUFPLE9BQU8sT0FBTztBQUNqQztBQUVBLGVBQWUsY0FBYyxLQUFVLFNBQWlCLFNBQWtDO0FBQ3hGLGdCQUFVLGdDQUFrQixLQUFLLFNBQVMsT0FBTztBQUNqRCxNQUFJLFlBQVksU0FBUztBQUN2QixXQUFPO0FBQUEsRUFDVDtBQUNBLFFBQU0sTUFBTSxRQUFRLFNBQVMsT0FBTztBQUNwQyxpQkFBZSxJQUFJLEdBQUc7QUFDdEIsWUFBVSxVQUFNLHlCQUFXLEtBQUssU0FBUyxPQUFPO0FBQ2hELFNBQU87QUFDVDtBQUVBLFNBQVMsb0JBQW9CLFFBQXlCO0FBQ3BELFFBQU0sTUFBTSxPQUFPO0FBQ25CLFFBQU0sV0FBVyxPQUFPLFNBQVM7QUFFakMsUUFBTSwrQkFBK0IsMkJBQTJCLEdBQUc7QUFDbkUsUUFBTSxlQUFlLE1BQU0sS0FBSyw2QkFBNkIsS0FBSyxDQUFDLEVBQUUsQ0FBQztBQUN0RSxNQUFJLGlCQUFpQixVQUFVO0FBQzdCLFdBQU87QUFBQSxFQUNUO0FBQ0EsU0FBTztBQUNUOyIsCiAgIm5hbWVzIjogWyJpbnRlcnJ1cHRlZFJlbmFtZXMiXQp9Cg==
395
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL1JlbmFtZURlbGV0ZUhhbmRsZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIFJlbmFtZURlbGV0ZUhhbmRsZXJcbiAqIENvbnRhaW5zIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBoYW5kbGluZyByZW5hbWUgYW5kIGRlbGV0ZSBldmVudHMgaW4gT2JzaWRpYW4uXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBDYWNoZWRNZXRhZGF0YSxcbiAgUGx1Z2luLFxuICBSZWZlcmVuY2UsXG4gIFRBYnN0cmFjdEZpbGVcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBhcm91bmQgfSBmcm9tICdtb25rZXktYXJvdW5kJztcbmltcG9ydCB7XG4gIEFwcCxcbiAgVEZpbGUsXG4gIFZhdWx0XG59IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUge1xuICBVcGRhdGVMaW5rT3B0aW9ucyxcbiAgVXBkYXRlTGlua3NJbkZpbGVPcHRpb25zXG59IGZyb20gJy4vTGluay50cyc7XG5cbmltcG9ydCB7IGdldERlYnVnZ2VyIH0gZnJvbSAnLi4vRGVidWcudHMnO1xuaW1wb3J0IHsgbm9vcEFzeW5jIH0gZnJvbSAnLi4vRnVuY3Rpb24udHMnO1xuaW1wb3J0IHtcbiAgbm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzLFxuICB0b0pzb25cbn0gZnJvbSAnLi4vT2JqZWN0LnRzJztcbmltcG9ydCB7XG4gIGJhc2VuYW1lLFxuICBkaXJuYW1lLFxuICBleHRuYW1lLFxuICBqb2luLFxuICBtYWtlRmlsZU5hbWUsXG4gIHJlbGF0aXZlXG59IGZyb20gJy4uL1BhdGgudHMnO1xuaW1wb3J0IHsgcmVwbGFjZUFsbCB9IGZyb20gJy4uL1N0cmluZy50cyc7XG5pbXBvcnQgeyBnZXRPYnNpZGlhbkRldlV0aWxzU3RhdGUgfSBmcm9tICcuL0FwcC50cyc7XG5pbXBvcnQge1xuICBnZXRBdHRhY2htZW50Rm9sZGVyUGF0aCxcbiAgaGFzT3duQXR0YWNobWVudEZvbGRlclxufSBmcm9tICcuL0F0dGFjaG1lbnRQYXRoLnRzJztcbmltcG9ydCB7XG4gIGdldEZpbGUsXG4gIGdldEZpbGVPck51bGwsXG4gIGdldEZvbGRlck9yTnVsbCxcbiAgaXNGaWxlLFxuICBpc01hcmtkb3duRmlsZSxcbiAgaXNOb3RlXG59IGZyb20gJy4vRmlsZVN5c3RlbS50cyc7XG5pbXBvcnQge1xuICBlZGl0TGlua3MsXG4gIGV4dHJhY3RMaW5rRmlsZSxcbiAgdXBkYXRlTGluayxcbiAgdXBkYXRlTGlua3NJbkZpbGVcbn0gZnJvbSAnLi9MaW5rLnRzJztcbmltcG9ydCB7XG4gIGdldEFsbExpbmtzLFxuICBnZXRCYWNrbGlua3NGb3JGaWxlT3JQYXRoLFxuICBnZXRCYWNrbGlua3NGb3JGaWxlU2FmZVxufSBmcm9tICcuL01ldGFkYXRhQ2FjaGUudHMnO1xuaW1wb3J0IHsgYWRkVG9RdWV1ZSB9IGZyb20gJy4vUXVldWUudHMnO1xuaW1wb3J0IHtcbiAgZ2V0U2FmZVJlbmFtZVBhdGgsXG4gIHJlbmFtZVNhZmVcbn0gZnJvbSAnLi9WYXVsdC50cyc7XG5pbXBvcnQge1xuICBkZWxldGVFbXB0eUZvbGRlckhpZXJhcmNoeSxcbiAgZGVsZXRlU2FmZVxufSBmcm9tICcuL1ZhdWx0RXgudHMnO1xuXG5jb25zdCBkZWxldGVkTWV0YWRhdGFDYWNoZU1hcCA9IG5ldyBNYXA8c3RyaW5nLCBDYWNoZWRNZXRhZGF0YT4oKTtcbmNvbnN0IGhhbmRsZWRSZW5hbWVzID0gbmV3IFNldDxzdHJpbmc+KCk7XG5jb25zdCBpbnRlcnJ1cHRlZFJlbmFtZXNNYXAgPSBuZXcgTWFwPHN0cmluZywgSW50ZXJydXB0ZWRSZW5hbWVbXT4oKTtcblxuLyoqXG4gKiBTZXR0aW5ncyBmb3IgdGhlIHJlbmFtZS9kZWxldGUgaGFuZGxlci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZW5hbWVEZWxldGVIYW5kbGVyU2V0dGluZ3Mge1xuICAvKipcbiAgICogV2hldGhlciB0byBpZ25vcmUgdGhlIHBhdGguXG4gICAqL1xuICBpc1BhdGhJZ25vcmVkKHBhdGg6IHN0cmluZyk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZGVsZXRlIGNvbmZsaWN0aW5nIGF0dGFjaG1lbnRzLlxuICAgKi9cbiAgc2hvdWxkRGVsZXRlQ29uZmxpY3RpbmdBdHRhY2htZW50czogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBkZWxldGUgZW1wdHkgZm9sZGVycy5cbiAgICovXG4gIHNob3VsZERlbGV0ZUVtcHR5Rm9sZGVyczogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBoYW5kbGUgZGVsZXRpb25zLlxuICAgKi9cbiAgc2hvdWxkSGFuZGxlRGVsZXRpb25zOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGhhbmRsZSByZW5hbWVzLlxuICAgKi9cbiAgc2hvdWxkSGFuZGxlUmVuYW1lczogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byByZW5hbWUgYXR0YWNobWVudCBmaWxlcyB3aGVuIGEgbm90ZSBpcyByZW5hbWVkLlxuICAgKi9cbiAgc2hvdWxkUmVuYW1lQXR0YWNobWVudEZpbGVzOiBib29sZWFuO1xuXG4gIC8qKlxuICAgICogV2hldGhlciB0byByZW5hbWUgYXR0YWNobWVudCBmb2xkZXIgd2hlbiBhIG5vdGUgaXMgcmVuYW1lZC5cbiAgICAqL1xuICBzaG91bGRSZW5hbWVBdHRhY2htZW50Rm9sZGVyOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHVwZGF0ZSBmaWxlbmFtZSBhbGlhc2VzIHdoZW4gYSBub3RlIGlzIHJlbmFtZWQuXG4gICAqL1xuICBzaG91bGRVcGRhdGVGaWxlbmFtZUFsaWFzZXM6IGJvb2xlYW47XG59XG5cbmludGVyZmFjZSBJbnRlcnJ1cHRlZFJlbmFtZSB7XG4gIGNvbWJpbmVkQmFja2xpbmtzTWFwOiBNYXA8c3RyaW5nLCBNYXA8c3RyaW5nLCBzdHJpbmc+PjtcbiAgb2xkUGF0aDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyB0aGUgcmVuYW1lL2RlbGV0ZSBoYW5kbGVycy5cbiAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luIGluc3RhbmNlLlxuICogQHBhcmFtIHNldHRpbmdzQnVpbGRlciAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIHRoZSBzZXR0aW5ncyBmb3IgdGhlIHJlbmFtZSBkZWxldGUgaGFuZGxlci5cbiAqIEByZXR1cm5zIHZvaWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyUmVuYW1lRGVsZXRlSGFuZGxlcnMocGx1Z2luOiBQbHVnaW4sIHNldHRpbmdzQnVpbGRlcjogKCkgPT4gUGFydGlhbDxSZW5hbWVEZWxldGVIYW5kbGVyU2V0dGluZ3M+KTogdm9pZCB7XG4gIGNvbnN0IHJlbmFtZURlbGV0ZUhhbmRsZXJzTWFwID0gZ2V0UmVuYW1lRGVsZXRlSGFuZGxlcnNNYXAocGx1Z2luLmFwcCk7XG4gIGNvbnN0IHBsdWdpbklkID0gcGx1Z2luLm1hbmlmZXN0LmlkO1xuXG4gIHJlbmFtZURlbGV0ZUhhbmRsZXJzTWFwLnNldChwbHVnaW5JZCwgc2V0dGluZ3NCdWlsZGVyKTtcbiAgbG9nUmVnaXN0ZXJlZEhhbmRsZXJzKHBsdWdpbi5hcHApO1xuXG4gIHBsdWdpbi5yZWdpc3RlcigoKSA9PiB7XG4gICAgcmVuYW1lRGVsZXRlSGFuZGxlcnNNYXAuZGVsZXRlKHBsdWdpbklkKTtcbiAgICBsb2dSZWdpc3RlcmVkSGFuZGxlcnMocGx1Z2luLmFwcCk7XG4gIH0pO1xuXG4gIGNvbnN0IGFwcCA9IHBsdWdpbi5hcHA7XG4gIHBsdWdpbi5yZWdpc3RlckV2ZW50KFxuICAgIGFwcC52YXVsdC5vbignZGVsZXRlJywgKGZpbGUpID0+IHtcbiAgICAgIGhhbmRsZURlbGV0ZUlmRW5hYmxlZChwbHVnaW4sIGZpbGUpO1xuICAgIH0pXG4gICk7XG5cbiAgcGx1Z2luLnJlZ2lzdGVyRXZlbnQoXG4gICAgYXBwLnZhdWx0Lm9uKCdyZW5hbWUnLCAoZmlsZSwgb2xkUGF0aCkgPT4ge1xuICAgICAgaGFuZGxlUmVuYW1lSWZFbmFibGVkKHBsdWdpbiwgZmlsZSwgb2xkUGF0aCk7XG4gICAgfSlcbiAgKTtcblxuICBwbHVnaW4ucmVnaXN0ZXJFdmVudChcbiAgICBhcHAubWV0YWRhdGFDYWNoZS5vbignZGVsZXRlZCcsIChmaWxlLCBwcmV2Q2FjaGUpID0+IHtcbiAgICAgIGhhbmRsZU1ldGFkYXRhRGVsZXRlZElmRW5hYmxlZChwbHVnaW4sIGZpbGUsIHByZXZDYWNoZSk7XG4gICAgfSlcbiAgKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZmlsbFJlbmFtZU1hcChhcHA6IEFwcCwgb2xkUGF0aDogc3RyaW5nLCBuZXdQYXRoOiBzdHJpbmcsIHJlbmFtZU1hcDogTWFwPHN0cmluZywgc3RyaW5nPiwgb2xkUGF0aExpbmtzOiBSZWZlcmVuY2VbXSk6IFByb21pc2U8dm9pZD4ge1xuICByZW5hbWVNYXAuc2V0KG9sZFBhdGgsIG5ld1BhdGgpO1xuXG4gIGlmICghaXNOb3RlKGFwcCwgb2xkUGF0aCkpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBzZXR0aW5ncyA9IGdldFNldHRpbmdzKGFwcCk7XG5cbiAgY29uc3Qgb2xkQXR0YWNobWVudEZvbGRlclBhdGggPSBhd2FpdCBnZXRBdHRhY2htZW50Rm9sZGVyUGF0aChhcHAsIG9sZFBhdGgpO1xuICBjb25zdCBuZXdBdHRhY2htZW50Rm9sZGVyUGF0aCA9IHNldHRpbmdzLnNob3VsZFJlbmFtZUF0dGFjaG1lbnRGb2xkZXJcbiAgICA/IGF3YWl0IGdldEF0dGFjaG1lbnRGb2xkZXJQYXRoKGFwcCwgbmV3UGF0aClcbiAgICA6IG9sZEF0dGFjaG1lbnRGb2xkZXJQYXRoO1xuXG4gIGNvbnN0IG9sZEF0dGFjaG1lbnRGb2xkZXIgPSBnZXRGb2xkZXJPck51bGwoYXBwLCBvbGRBdHRhY2htZW50Rm9sZGVyUGF0aCk7XG5cbiAgaWYgKCFvbGRBdHRhY2htZW50Rm9sZGVyKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKG9sZEF0dGFjaG1lbnRGb2xkZXJQYXRoID09PSBuZXdBdHRhY2htZW50Rm9sZGVyUGF0aCAmJiAhc2V0dGluZ3Muc2hvdWxkUmVuYW1lQXR0YWNobWVudEZpbGVzKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3Qgb2xkQXR0YWNobWVudEZpbGVzOiBURmlsZVtdID0gW107XG5cbiAgaWYgKCEoYXdhaXQgaGFzT3duQXR0YWNobWVudEZvbGRlcihhcHAsIG9sZFBhdGgpKSkge1xuICAgIGZvciAoY29uc3Qgb2xkUGF0aExpbmsgb2Ygb2xkUGF0aExpbmtzKSB7XG4gICAgICBjb25zdCBvbGRBdHRhY2htZW50RmlsZSA9IGV4dHJhY3RMaW5rRmlsZShhcHAsIG9sZFBhdGhMaW5rLCBvbGRQYXRoKTtcbiAgICAgIGlmICghb2xkQXR0YWNobWVudEZpbGUpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChvbGRBdHRhY2htZW50RmlsZS5wYXRoLnN0YXJ0c1dpdGgob2xkQXR0YWNobWVudEZvbGRlclBhdGgpKSB7XG4gICAgICAgIGNvbnN0IG9sZEF0dGFjaG1lbnRCYWNrbGlua3MgPSBhd2FpdCBnZXRCYWNrbGlua3NGb3JGaWxlU2FmZShhcHAsIG9sZEF0dGFjaG1lbnRGaWxlKTtcbiAgICAgICAgaWYgKG9sZEF0dGFjaG1lbnRCYWNrbGlua3Mua2V5cygpLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgIG9sZEF0dGFjaG1lbnRGaWxlcy5wdXNoKG9sZEF0dGFjaG1lbnRGaWxlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBWYXVsdC5yZWN1cnNlQ2hpbGRyZW4ob2xkQXR0YWNobWVudEZvbGRlciwgKG9sZEF0dGFjaG1lbnRGaWxlKSA9PiB7XG4gICAgICBpZiAoaXNGaWxlKG9sZEF0dGFjaG1lbnRGaWxlKSkge1xuICAgICAgICBvbGRBdHRhY2htZW50RmlsZXMucHVzaChvbGRBdHRhY2htZW50RmlsZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBjb25zdCBvbGRCYXNlbmFtZSA9IGJhc2VuYW1lKG9sZFBhdGgsIGV4dG5hbWUob2xkUGF0aCkpO1xuICBjb25zdCBuZXdCYXNlbmFtZSA9IGJhc2VuYW1lKG5ld1BhdGgsIGV4dG5hbWUobmV3UGF0aCkpO1xuXG4gIGZvciAoY29uc3Qgb2xkQXR0YWNobWVudEZpbGUgb2Ygb2xkQXR0YWNobWVudEZpbGVzKSB7XG4gICAgaWYgKGlzTm90ZShhcHAsIG9sZEF0dGFjaG1lbnRGaWxlKSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGNvbnN0IHJlbGF0aXZlUGF0aCA9IHJlbGF0aXZlKG9sZEF0dGFjaG1lbnRGb2xkZXJQYXRoLCBvbGRBdHRhY2htZW50RmlsZS5wYXRoKTtcbiAgICBjb25zdCBuZXdEaXIgPSBqb2luKG5ld0F0dGFjaG1lbnRGb2xkZXJQYXRoLCBkaXJuYW1lKHJlbGF0aXZlUGF0aCkpO1xuICAgIGNvbnN0IG5ld0NoaWxkQmFzZW5hbWUgPSBzZXR0aW5ncy5zaG91bGRSZW5hbWVBdHRhY2htZW50RmlsZXNcbiAgICAgID8gcmVwbGFjZUFsbChvbGRBdHRhY2htZW50RmlsZS5iYXNlbmFtZSwgb2xkQmFzZW5hbWUsIG5ld0Jhc2VuYW1lKVxuICAgICAgOiBvbGRBdHRhY2htZW50RmlsZS5iYXNlbmFtZTtcbiAgICBsZXQgbmV3Q2hpbGRQYXRoID0gam9pbihuZXdEaXIsIG1ha2VGaWxlTmFtZShuZXdDaGlsZEJhc2VuYW1lLCBvbGRBdHRhY2htZW50RmlsZS5leHRlbnNpb24pKTtcblxuICAgIGlmIChvbGRBdHRhY2htZW50RmlsZS5wYXRoID09PSBuZXdDaGlsZFBhdGgpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmIChzZXR0aW5ncy5zaG91bGREZWxldGVDb25mbGljdGluZ0F0dGFjaG1lbnRzKSB7XG4gICAgICBjb25zdCBuZXdDaGlsZEZpbGUgPSBnZXRGaWxlT3JOdWxsKGFwcCwgbmV3Q2hpbGRQYXRoKTtcbiAgICAgIGlmIChuZXdDaGlsZEZpbGUpIHtcbiAgICAgICAgYXdhaXQgYXBwLmZpbGVNYW5hZ2VyLnRyYXNoRmlsZShuZXdDaGlsZEZpbGUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBuZXdDaGlsZFBhdGggPSBhcHAudmF1bHQuZ2V0QXZhaWxhYmxlUGF0aChqb2luKG5ld0RpciwgbmV3Q2hpbGRCYXNlbmFtZSksIG9sZEF0dGFjaG1lbnRGaWxlLmV4dGVuc2lvbik7XG4gICAgfVxuICAgIHJlbmFtZU1hcC5zZXQob2xkQXR0YWNobWVudEZpbGUucGF0aCwgbmV3Q2hpbGRQYXRoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRSZW5hbWVEZWxldGVIYW5kbGVyc01hcChhcHA6IEFwcCk6IE1hcDxzdHJpbmcsICgpID0+IFBhcnRpYWw8UmVuYW1lRGVsZXRlSGFuZGxlclNldHRpbmdzPj4ge1xuICByZXR1cm4gZ2V0T2JzaWRpYW5EZXZVdGlsc1N0YXRlKGFwcCwgJ3JlbmFtZURlbGV0ZUhhbmRsZXJzTWFwJywgbmV3IE1hcDxzdHJpbmcsICgpID0+IFBhcnRpYWw8UmVuYW1lRGVsZXRlSGFuZGxlclNldHRpbmdzPj4oKSkudmFsdWU7XG59XG5cbmZ1bmN0aW9uIGdldFNldHRpbmdzKGFwcDogQXBwKTogUGFydGlhbDxSZW5hbWVEZWxldGVIYW5kbGVyU2V0dGluZ3M+IHtcbiAgY29uc3QgcmVuYW1lRGVsZXRlSGFuZGxlcnNNYXAgPSBnZXRSZW5hbWVEZWxldGVIYW5kbGVyc01hcChhcHApO1xuICBjb25zdCBzZXR0aW5nc0J1aWxkZXJzID0gQXJyYXkuZnJvbShyZW5hbWVEZWxldGVIYW5kbGVyc01hcC52YWx1ZXMoKSkucmV2ZXJzZSgpO1xuXG4gIGNvbnN0IHNldHRpbmdzOiBQYXJ0aWFsPFJlbmFtZURlbGV0ZUhhbmRsZXJTZXR0aW5ncz4gPSB7fTtcbiAgZm9yIChjb25zdCBzZXR0aW5nc0J1aWxkZXIgb2Ygc2V0dGluZ3NCdWlsZGVycykge1xuICAgIGNvbnN0IG5ld1NldHRpbmdzID0gc2V0dGluZ3NCdWlsZGVyKCk7XG4gICAgc2V0dGluZ3Muc2hvdWxkRGVsZXRlQ29uZmxpY3RpbmdBdHRhY2htZW50cyB8fD0gbmV3U2V0dGluZ3Muc2hvdWxkRGVsZXRlQ29uZmxpY3RpbmdBdHRhY2htZW50cyA/PyBmYWxzZTtcbiAgICBzZXR0aW5ncy5zaG91bGREZWxldGVFbXB0eUZvbGRlcnMgfHw9IG5ld1NldHRpbmdzLnNob3VsZERlbGV0ZUVtcHR5Rm9sZGVycyA/PyBmYWxzZTtcbiAgICBzZXR0aW5ncy5zaG91bGRIYW5kbGVEZWxldGlvbnMgfHw9IG5ld1NldHRpbmdzLnNob3VsZEhhbmRsZURlbGV0aW9ucyA/PyBmYWxzZTtcbiAgICBzZXR0aW5ncy5zaG91bGRIYW5kbGVSZW5hbWVzIHx8PSBuZXdTZXR0aW5ncy5zaG91bGRIYW5kbGVSZW5hbWVzID8/IGZhbHNlO1xuICAgIHNldHRpbmdzLnNob3VsZFJlbmFtZUF0dGFjaG1lbnRGaWxlcyB8fD0gbmV3U2V0dGluZ3Muc2hvdWxkUmVuYW1lQXR0YWNobWVudEZpbGVzID8/IGZhbHNlO1xuICAgIHNldHRpbmdzLnNob3VsZFJlbmFtZUF0dGFjaG1lbnRGb2xkZXIgfHw9IG5ld1NldHRpbmdzLnNob3VsZFJlbmFtZUF0dGFjaG1lbnRGb2xkZXIgPz8gZmFsc2U7XG4gICAgc2V0dGluZ3Muc2hvdWxkVXBkYXRlRmlsZW5hbWVBbGlhc2VzIHx8PSBuZXdTZXR0aW5ncy5zaG91bGRVcGRhdGVGaWxlbmFtZUFsaWFzZXMgPz8gZmFsc2U7XG4gICAgY29uc3QgaXNQYXRoSWdub3JlZCA9IHNldHRpbmdzLmlzUGF0aElnbm9yZWQ7XG4gICAgc2V0dGluZ3MuaXNQYXRoSWdub3JlZCA9IChwYXRoOiBzdHJpbmcpOiBib29sZWFuID0+IGlzUGF0aElnbm9yZWQ/LihwYXRoKSA/PyBuZXdTZXR0aW5ncy5pc1BhdGhJZ25vcmVkPy4ocGF0aCkgPz8gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gc2V0dGluZ3M7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGhhbmRsZURlbGV0ZShhcHA6IEFwcCwgcGF0aDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGdldERlYnVnZ2VyKCdvYnNpZGlhbi1kZXYtdXRpbHM6UmVuYW1lRGVsZXRlSGFuZGxlcjpoYW5kbGVEZWxldGUnKShgSGFuZGxlIERlbGV0ZSAke3BhdGh9YCk7XG4gIGlmICghaXNOb3RlKGFwcCwgcGF0aCkpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBzZXR0aW5ncyA9IGdldFNldHRpbmdzKGFwcCk7XG4gIGlmICghc2V0dGluZ3Muc2hvdWxkSGFuZGxlRGVsZXRpb25zKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKHNldHRpbmdzLmlzUGF0aElnbm9yZWQ/LihwYXRoKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGNhY2hlID0gZGVsZXRlZE1ldGFkYXRhQ2FjaGVNYXAuZ2V0KHBhdGgpO1xuICBkZWxldGVkTWV0YWRhdGFDYWNoZU1hcC5kZWxldGUocGF0aCk7XG4gIGlmIChjYWNoZSkge1xuICAgIGNvbnN0IGxpbmtzID0gZ2V0QWxsTGlua3MoY2FjaGUpO1xuXG4gICAgZm9yIChjb25zdCBsaW5rIG9mIGxpbmtzKSB7XG4gICAgICBjb25zdCBhdHRhY2htZW50RmlsZSA9IGV4dHJhY3RMaW5rRmlsZShhcHAsIGxpbmssIHBhdGgpO1xuICAgICAgaWYgKCFhdHRhY2htZW50RmlsZSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzTm90ZShhcHAsIGF0dGFjaG1lbnRGaWxlKSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgYXdhaXQgZGVsZXRlU2FmZShhcHAsIGF0dGFjaG1lbnRGaWxlLCBwYXRoLCBzZXR0aW5ncy5zaG91bGREZWxldGVFbXB0eUZvbGRlcnMpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGF0dGFjaG1lbnRGb2xkZXJQYXRoID0gYXdhaXQgZ2V0QXR0YWNobWVudEZvbGRlclBhdGgoYXBwLCBwYXRoKTtcbiAgY29uc3QgYXR0YWNobWVudEZvbGRlciA9IGdldEZvbGRlck9yTnVsbChhcHAsIGF0dGFjaG1lbnRGb2xkZXJQYXRoKTtcblxuICBpZiAoIWF0dGFjaG1lbnRGb2xkZXIpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoIShhd2FpdCBoYXNPd25BdHRhY2htZW50Rm9sZGVyKGFwcCwgcGF0aCkpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgYXdhaXQgZGVsZXRlU2FmZShhcHAsIGF0dGFjaG1lbnRGb2xkZXIsIHBhdGgsIGZhbHNlLCBzZXR0aW5ncy5zaG91bGREZWxldGVFbXB0eUZvbGRlcnMpO1xufVxuXG5mdW5jdGlvbiBoYW5kbGVEZWxldGVJZkVuYWJsZWQocGx1Z2luOiBQbHVnaW4sIGZpbGU6IFRBYnN0cmFjdEZpbGUpOiB2b2lkIHtcbiAgY29uc3QgYXBwID0gcGx1Z2luLmFwcDtcbiAgaWYgKCFzaG91bGRJbnZva2VIYW5kbGVyKHBsdWdpbikpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgcGF0aCA9IGZpbGUucGF0aDtcbiAgYWRkVG9RdWV1ZShhcHAsICgpID0+IGhhbmRsZURlbGV0ZShhcHAsIHBhdGgpKTtcbn1cblxuZnVuY3Rpb24gaGFuZGxlTWV0YWRhdGFEZWxldGVkKGFwcDogQXBwLCBmaWxlOiBUQWJzdHJhY3RGaWxlLCBwcmV2Q2FjaGU6IENhY2hlZE1ldGFkYXRhIHwgbnVsbCk6IHZvaWQge1xuICBjb25zdCBzZXR0aW5ncyA9IGdldFNldHRpbmdzKGFwcCk7XG4gIGlmIChzZXR0aW5ncy5pc1BhdGhJZ25vcmVkPy4oZmlsZS5wYXRoKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmICghc2V0dGluZ3Muc2hvdWxkSGFuZGxlRGVsZXRpb25zKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmIChpc01hcmtkb3duRmlsZShhcHAsIGZpbGUpICYmIHByZXZDYWNoZSkge1xuICAgIGRlbGV0ZWRNZXRhZGF0YUNhY2hlTWFwLnNldChmaWxlLnBhdGgsIHByZXZDYWNoZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaGFuZGxlTWV0YWRhdGFEZWxldGVkSWZFbmFibGVkKHBsdWdpbjogUGx1Z2luLCBmaWxlOiBUQWJzdHJhY3RGaWxlLCBwcmV2Q2FjaGU6IENhY2hlZE1ldGFkYXRhIHwgbnVsbCk6IHZvaWQge1xuICBpZiAoIXNob3VsZEludm9rZUhhbmRsZXIocGx1Z2luKSkge1xuICAgIHJldHVybjtcbiAgfVxuICBoYW5kbGVNZXRhZGF0YURlbGV0ZWQocGx1Z2luLmFwcCwgZmlsZSwgcHJldkNhY2hlKTtcbn1cblxuZnVuY3Rpb24gaGFuZGxlUmVuYW1lKGFwcDogQXBwLCBvbGRQYXRoOiBzdHJpbmcsIG5ld1BhdGg6IHN0cmluZyk6IHZvaWQge1xuICBjb25zdCBrZXkgPSBtYWtlS2V5KG9sZFBhdGgsIG5ld1BhdGgpO1xuICBnZXREZWJ1Z2dlcignb2JzaWRpYW4tZGV2LXV0aWxzOlJlbmFtZURlbGV0ZUhhbmRsZXI6aGFuZGxlUmVuYW1lJykoYEhhbmRsZSBSZW5hbWUgJHtrZXl9YCk7XG4gIGlmIChoYW5kbGVkUmVuYW1lcy5oYXMoa2V5KSkge1xuICAgIGhhbmRsZWRSZW5hbWVzLmRlbGV0ZShrZXkpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHNldHRpbmdzID0gZ2V0U2V0dGluZ3MoYXBwKTtcbiAgaWYgKCFzZXR0aW5ncy5zaG91bGRIYW5kbGVSZW5hbWVzIHx8IHNldHRpbmdzLmlzUGF0aElnbm9yZWQ/LihvbGRQYXRoKSB8fCBzZXR0aW5ncy5pc1BhdGhJZ25vcmVkPy4obmV3UGF0aCkpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBjYWNoZSA9IGFwcC5tZXRhZGF0YUNhY2hlLmdldENhY2hlKG9sZFBhdGgpID8/IGFwcC5tZXRhZGF0YUNhY2hlLmdldENhY2hlKG5ld1BhdGgpO1xuICBjb25zdCBvbGRQYXRoTGlua3MgPSBjYWNoZSA/IGdldEFsbExpbmtzKGNhY2hlKSA6IFtdO1xuICBjb25zdCBvbGRQYXRoQmFja2xpbmtzTWFwID0gZ2V0QmFja2xpbmtzRm9yRmlsZU9yUGF0aChhcHAsIG9sZFBhdGgpLmRhdGE7XG4gIGFkZFRvUXVldWUoYXBwLCAoKSA9PiBoYW5kbGVSZW5hbWVBc3luYyhhcHAsIG9sZFBhdGgsIG5ld1BhdGgsIG9sZFBhdGhCYWNrbGlua3NNYXAsIG9sZFBhdGhMaW5rcykpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBoYW5kbGVSZW5hbWVBc3luYyhhcHA6IEFwcCwgb2xkUGF0aDogc3RyaW5nLCBuZXdQYXRoOiBzdHJpbmcsIG9sZFBhdGhCYWNrbGlua3NNYXA6IE1hcDxzdHJpbmcsIFJlZmVyZW5jZVtdPiwgb2xkUGF0aExpbmtzOiBSZWZlcmVuY2VbXSwgaW50ZXJydXB0ZWRDb21iaW5lZEJhY2tsaW5rc01hcD86IE1hcDxzdHJpbmcsIE1hcDxzdHJpbmcsIHN0cmluZz4+KTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IGludGVycnVwdGVkUmVuYW1lcyA9IGludGVycnVwdGVkUmVuYW1lc01hcC5nZXQob2xkUGF0aCk7XG4gIGlmIChpbnRlcnJ1cHRlZFJlbmFtZXMpIHtcbiAgICBpbnRlcnJ1cHRlZFJlbmFtZXNNYXAuZGVsZXRlKG9sZFBhdGgpO1xuICAgIGZvciAoY29uc3QgaW50ZXJydXB0ZWRSZW5hbWUgb2YgaW50ZXJydXB0ZWRSZW5hbWVzKSB7XG4gICAgICBhd2FpdCBoYW5kbGVSZW5hbWVBc3luYyhhcHAsIGludGVycnVwdGVkUmVuYW1lLm9sZFBhdGgsIG5ld1BhdGgsIG9sZFBhdGhCYWNrbGlua3NNYXAsIG9sZFBhdGhMaW5rcywgaW50ZXJydXB0ZWRSZW5hbWUuY29tYmluZWRCYWNrbGlua3NNYXApO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGNhY2hlID0gYXBwLm1ldGFkYXRhQ2FjaGUuZ2V0Q2FjaGUob2xkUGF0aCkgPz8gYXBwLm1ldGFkYXRhQ2FjaGUuZ2V0Q2FjaGUobmV3UGF0aCk7XG4gIGNvbnN0IG9sZFBhdGhMaW5rczIgPSBjYWNoZSA/IGdldEFsbExpbmtzKGNhY2hlKSA6IFtdO1xuICBjb25zdCBvbGRQYXRoQmFja2xpbmtzTWFwMiA9IGdldEJhY2tsaW5rc0ZvckZpbGVPclBhdGgoYXBwLCBvbGRQYXRoKS5kYXRhO1xuXG4gIGZvciAoY29uc3QgbGluayBvZiBvbGRQYXRoTGlua3MyKSB7XG4gICAgaWYgKG9sZFBhdGhMaW5rcy5pbmNsdWRlcyhsaW5rKSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIG9sZFBhdGhMaW5rcy5wdXNoKGxpbmspO1xuICB9XG5cbiAgaWYgKGFwcC52YXVsdC5hZGFwdGVyLmluc2Vuc2l0aXZlICYmIG9sZFBhdGgudG9Mb3dlckNhc2UoKSA9PT0gbmV3UGF0aC50b0xvd2VyQ2FzZSgpKSB7XG4gICAgY29uc3QgdGVtcFBhdGggPSBqb2luKGRpcm5hbWUobmV3UGF0aCksICdfX3RlbXBfXycgKyBiYXNlbmFtZShuZXdQYXRoKSk7XG4gICAgYXdhaXQgcmVuYW1lSGFuZGxlZChhcHAsIG5ld1BhdGgsIHRlbXBQYXRoKTtcbiAgICBhd2FpdCBoYW5kbGVSZW5hbWVBc3luYyhhcHAsIG9sZFBhdGgsIHRlbXBQYXRoLCBvbGRQYXRoQmFja2xpbmtzTWFwLCBvbGRQYXRoTGlua3MpO1xuICAgIGF3YWl0IGFwcC52YXVsdC5yZW5hbWUoZ2V0RmlsZShhcHAsIHRlbXBQYXRoKSwgbmV3UGF0aCk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgcmVzdG9yZVVwZGF0ZUFsbExpbmtzID0gYXJvdW5kKGFwcC5maWxlTWFuYWdlciwge1xuICAgIHVwZGF0ZUFsbExpbmtzOiAoKSA9PiBub29wQXN5bmNcbiAgfSk7XG4gIHRyeSB7XG4gICAgY29uc3QgcmVuYW1lTWFwID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcbiAgICBhd2FpdCBmaWxsUmVuYW1lTWFwKGFwcCwgb2xkUGF0aCwgbmV3UGF0aCwgcmVuYW1lTWFwLCBvbGRQYXRoTGlua3MpO1xuXG4gICAgY29uc3QgY29tYmluZWRCYWNrbGlua3NNYXAgPSBuZXcgTWFwPHN0cmluZywgTWFwPHN0cmluZywgc3RyaW5nPj4oKTtcbiAgICBpbml0QmFja2xpbmtzTWFwKG9sZFBhdGhCYWNrbGlua3NNYXAsIHJlbmFtZU1hcCwgY29tYmluZWRCYWNrbGlua3NNYXAsIG9sZFBhdGgpO1xuICAgIGluaXRCYWNrbGlua3NNYXAob2xkUGF0aEJhY2tsaW5rc01hcDIsIHJlbmFtZU1hcCwgY29tYmluZWRCYWNrbGlua3NNYXAsIG9sZFBhdGgpO1xuXG4gICAgZm9yIChjb25zdCBhdHRhY2htZW50T2xkUGF0aCBvZiByZW5hbWVNYXAua2V5cygpKSB7XG4gICAgICBpZiAoYXR0YWNobWVudE9sZFBhdGggPT09IG9sZFBhdGgpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBjb25zdCBhdHRhY2htZW50T2xkUGF0aEJhY2tsaW5rc01hcCA9IChhd2FpdCBnZXRCYWNrbGlua3NGb3JGaWxlU2FmZShhcHAsIGF0dGFjaG1lbnRPbGRQYXRoKSkuZGF0YTtcbiAgICAgIGluaXRCYWNrbGlua3NNYXAoYXR0YWNobWVudE9sZFBhdGhCYWNrbGlua3NNYXAsIHJlbmFtZU1hcCwgY29tYmluZWRCYWNrbGlua3NNYXAsIGF0dGFjaG1lbnRPbGRQYXRoKTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJlbnRGb2xkZXJzID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgICBmb3IgKGNvbnN0IFtvbGRBdHRhY2htZW50UGF0aCwgbmV3QXR0YWNobWVudFBhdGhdIG9mIHJlbmFtZU1hcC5lbnRyaWVzKCkpIHtcbiAgICAgIGlmIChvbGRBdHRhY2htZW50UGF0aCA9PT0gb2xkUGF0aCkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGZpeGVkTmV3QXR0YWNobWVudFBhdGggPSBhd2FpdCByZW5hbWVIYW5kbGVkKGFwcCwgb2xkQXR0YWNobWVudFBhdGgsIG5ld0F0dGFjaG1lbnRQYXRoKTtcbiAgICAgIHJlbmFtZU1hcC5zZXQob2xkQXR0YWNobWVudFBhdGgsIGZpeGVkTmV3QXR0YWNobWVudFBhdGgpO1xuICAgICAgcGFyZW50Rm9sZGVycy5hZGQoZGlybmFtZShvbGRBdHRhY2htZW50UGF0aCkpO1xuICAgIH1cblxuICAgIGNvbnN0IHNldHRpbmdzID0gZ2V0U2V0dGluZ3MoYXBwKTtcbiAgICBpZiAoc2V0dGluZ3Muc2hvdWxkRGVsZXRlRW1wdHlGb2xkZXJzKSB7XG4gICAgICBmb3IgKGNvbnN0IHBhcmVudEZvbGRlciBvZiBwYXJlbnRGb2xkZXJzKSB7XG4gICAgICAgIGF3YWl0IGRlbGV0ZUVtcHR5Rm9sZGVySGllcmFyY2h5KGFwcCwgcGFyZW50Rm9sZGVyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IFtuZXdCYWNrbGlua1BhdGgsIGxpbmtKc29uVG9QYXRoTWFwXSBvZiBBcnJheS5mcm9tKGNvbWJpbmVkQmFja2xpbmtzTWFwLmVudHJpZXMoKSkuY29uY2F0KEFycmF5LmZyb20oaW50ZXJydXB0ZWRDb21iaW5lZEJhY2tsaW5rc01hcD8uZW50cmllcygpID8/IFtdKSkpIHtcbiAgICAgIGF3YWl0IGVkaXRMaW5rcyhhcHAsIG5ld0JhY2tsaW5rUGF0aCwgKGxpbmspID0+IHtcbiAgICAgICAgY29uc3Qgb2xkQXR0YWNobWVudFBhdGggPSBsaW5rSnNvblRvUGF0aE1hcC5nZXQodG9Kc29uKGxpbmspKTtcbiAgICAgICAgaWYgKCFvbGRBdHRhY2htZW50UGF0aCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5ld0F0dGFjaG1lbnRQYXRoID0gcmVuYW1lTWFwLmdldChvbGRBdHRhY2htZW50UGF0aCk7XG4gICAgICAgIGlmICghbmV3QXR0YWNobWVudFBhdGgpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdXBkYXRlTGluayhub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXM8VXBkYXRlTGlua09wdGlvbnM+KHtcbiAgICAgICAgICBhcHA6IGFwcCxcbiAgICAgICAgICBsaW5rLFxuICAgICAgICAgIG5ld1NvdXJjZVBhdGhPckZpbGU6IG5ld0JhY2tsaW5rUGF0aCxcbiAgICAgICAgICBuZXdUYXJnZXRQYXRoT3JGaWxlOiBuZXdBdHRhY2htZW50UGF0aCxcbiAgICAgICAgICBvbGRUYXJnZXRQYXRoT3JGaWxlOiBvbGRBdHRhY2htZW50UGF0aCxcbiAgICAgICAgICBzaG91bGRVcGRhdGVGaWxlbmFtZUFsaWFzOiBzZXR0aW5ncy5zaG91bGRVcGRhdGVGaWxlbmFtZUFsaWFzZXNcbiAgICAgICAgfSkpO1xuICAgICAgfSwge1xuICAgICAgICBzaG91bGRGYWlsT25NaXNzaW5nRmlsZTogZmFsc2VcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChpc05vdGUoYXBwLCBuZXdQYXRoKSkge1xuICAgICAgYXdhaXQgdXBkYXRlTGlua3NJbkZpbGUobm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzPFVwZGF0ZUxpbmtzSW5GaWxlT3B0aW9ucz4oe1xuICAgICAgICBhcHAsXG4gICAgICAgIG5ld1NvdXJjZVBhdGhPckZpbGU6IG5ld1BhdGgsXG4gICAgICAgIG9sZFNvdXJjZVBhdGhPckZpbGU6IG9sZFBhdGgsXG4gICAgICAgIHNob3VsZEZhaWxPbk1pc3NpbmdGaWxlOiBmYWxzZSxcbiAgICAgICAgc2hvdWxkVXBkYXRlRmlsZW5hbWVBbGlhczogc2V0dGluZ3Muc2hvdWxkVXBkYXRlRmlsZW5hbWVBbGlhc2VzXG4gICAgICB9KSk7XG4gICAgfVxuXG4gICAgaWYgKCFnZXRGaWxlT3JOdWxsKGFwcCwgbmV3UGF0aCkpIHtcbiAgICAgIGxldCBpbnRlcnJ1cHRlZFJlbmFtZXMgPSBpbnRlcnJ1cHRlZFJlbmFtZXNNYXAuZ2V0KG5ld1BhdGgpO1xuICAgICAgaWYgKCFpbnRlcnJ1cHRlZFJlbmFtZXMpIHtcbiAgICAgICAgaW50ZXJydXB0ZWRSZW5hbWVzID0gW107XG4gICAgICAgIGludGVycnVwdGVkUmVuYW1lc01hcC5zZXQobmV3UGF0aCwgaW50ZXJydXB0ZWRSZW5hbWVzKTtcbiAgICAgIH1cbiAgICAgIGludGVycnVwdGVkUmVuYW1lcy5wdXNoKHtcbiAgICAgICAgY29tYmluZWRCYWNrbGlua3NNYXAsXG4gICAgICAgIG9sZFBhdGhcbiAgICAgIH0pO1xuICAgIH1cbiAgfSBmaW5hbGx5IHtcbiAgICByZXN0b3JlVXBkYXRlQWxsTGlua3MoKTtcbiAgICBjb25zdCBvcnBoYW5LZXlzID0gQXJyYXkuZnJvbShoYW5kbGVkUmVuYW1lcyk7XG4gICAgYWRkVG9RdWV1ZShhcHAsICgpID0+IHtcbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIG9ycGhhbktleXMpIHtcbiAgICAgICAgaGFuZGxlZFJlbmFtZXMuZGVsZXRlKGtleSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaGFuZGxlUmVuYW1lSWZFbmFibGVkKHBsdWdpbjogUGx1Z2luLCBmaWxlOiBUQWJzdHJhY3RGaWxlLCBvbGRQYXRoOiBzdHJpbmcpOiB2b2lkIHtcbiAgaWYgKCFzaG91bGRJbnZva2VIYW5kbGVyKHBsdWdpbikpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKCFpc0ZpbGUoZmlsZSkpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgbmV3UGF0aCA9IGZpbGUucGF0aDtcbiAgaGFuZGxlUmVuYW1lKHBsdWdpbi5hcHAsIG9sZFBhdGgsIG5ld1BhdGgpO1xufVxuXG5mdW5jdGlvbiBpbml0QmFja2xpbmtzTWFwKHNpbmdsZUJhY2tsaW5rc01hcDogTWFwPHN0cmluZywgUmVmZXJlbmNlW10+LCByZW5hbWVNYXA6IE1hcDxzdHJpbmcsIHN0cmluZz4sIGNvbWJpbmVkQmFja2xpbmtzTWFwOiBNYXA8c3RyaW5nLCBNYXA8c3RyaW5nLCBzdHJpbmc+PiwgcGF0aDogc3RyaW5nKTogdm9pZCB7XG4gIGZvciAoY29uc3QgW2JhY2tsaW5rUGF0aCwgbGlua3NdIG9mIHNpbmdsZUJhY2tsaW5rc01hcC5lbnRyaWVzKCkpIHtcbiAgICBjb25zdCBuZXdCYWNrbGlua1BhdGggPSByZW5hbWVNYXAuZ2V0KGJhY2tsaW5rUGF0aCkgPz8gYmFja2xpbmtQYXRoO1xuICAgIGNvbnN0IGxpbmtKc29uVG9QYXRoTWFwID0gY29tYmluZWRCYWNrbGlua3NNYXAuZ2V0KG5ld0JhY2tsaW5rUGF0aCkgPz8gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcbiAgICBjb21iaW5lZEJhY2tsaW5rc01hcC5zZXQobmV3QmFja2xpbmtQYXRoLCBsaW5rSnNvblRvUGF0aE1hcCk7XG4gICAgZm9yIChjb25zdCBsaW5rIG9mIGxpbmtzKSB7XG4gICAgICBsaW5rSnNvblRvUGF0aE1hcC5zZXQodG9Kc29uKGxpbmspLCBwYXRoKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gbG9nUmVnaXN0ZXJlZEhhbmRsZXJzKGFwcDogQXBwKTogdm9pZCB7XG4gIGNvbnN0IHJlbmFtZURlbGV0ZUhhbmRsZXJzTWFwID0gZ2V0UmVuYW1lRGVsZXRlSGFuZGxlcnNNYXAoYXBwKTtcbiAgZ2V0RGVidWdnZXIoJ29ic2lkaWFuLWRldi11dGlsczpSZW5hbWVEZWxldGVIYW5kbGVyOmxvZ1JlZ2lzdGVyZWRIYW5kbGVycycpKGBQbHVnaW5zIHdpdGggcmVnaXN0ZXJlZCByZW5hbWUvZGVsZXRlIGhhbmRsZXJzOiAke0pTT04uc3RyaW5naWZ5KEFycmF5LmZyb20ocmVuYW1lRGVsZXRlSGFuZGxlcnNNYXAua2V5cygpKSl9YCk7XG59XG5cbmZ1bmN0aW9uIG1ha2VLZXkob2xkUGF0aDogc3RyaW5nLCBuZXdQYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYCR7b2xkUGF0aH0gLT4gJHtuZXdQYXRofWA7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJlbmFtZUhhbmRsZWQoYXBwOiBBcHAsIG9sZFBhdGg6IHN0cmluZywgbmV3UGF0aDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgbmV3UGF0aCA9IGdldFNhZmVSZW5hbWVQYXRoKGFwcCwgb2xkUGF0aCwgbmV3UGF0aCk7XG4gIGlmIChvbGRQYXRoID09PSBuZXdQYXRoKSB7XG4gICAgcmV0dXJuIG5ld1BhdGg7XG4gIH1cbiAgY29uc3Qga2V5ID0gbWFrZUtleShvbGRQYXRoLCBuZXdQYXRoKTtcbiAgaGFuZGxlZFJlbmFtZXMuYWRkKGtleSk7XG4gIG5ld1BhdGggPSBhd2FpdCByZW5hbWVTYWZlKGFwcCwgb2xkUGF0aCwgbmV3UGF0aCk7XG4gIHJldHVybiBuZXdQYXRoO1xufVxuXG5mdW5jdGlvbiBzaG91bGRJbnZva2VIYW5kbGVyKHBsdWdpbjogUGx1Z2luKTogYm9vbGVhbiB7XG4gIGNvbnN0IGFwcCA9IHBsdWdpbi5hcHA7XG4gIGNvbnN0IHBsdWdpbklkID0gcGx1Z2luLm1hbmlmZXN0LmlkO1xuXG4gIGNvbnN0IHJlbmFtZURlbGV0ZUhhbmRsZXJQbHVnaW5JZHMgPSBnZXRSZW5hbWVEZWxldGVIYW5kbGVyc01hcChhcHApO1xuICBjb25zdCBtYWluUGx1Z2luSWQgPSBBcnJheS5mcm9tKHJlbmFtZURlbGV0ZUhhbmRsZXJQbHVnaW5JZHMua2V5cygpKVswXTtcbiAgaWYgKG1haW5QbHVnaW5JZCAhPT0gcGx1Z2luSWQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBWUEsMkJBQXVCO0FBQ3ZCLHNCQUlPO0FBT1AsbUJBQTRCO0FBQzVCLHNCQUEwQjtBQUMxQixvQkFHTztBQUNQLGtCQU9PO0FBQ1Asb0JBQTJCO0FBQzNCLGlCQUF5QztBQUN6Qyw0QkFHTztBQUNQLHdCQU9PO0FBQ1Asa0JBS087QUFDUCwyQkFJTztBQUNQLG1CQUEyQjtBQUMzQixtQkFHTztBQUNQLHFCQUdPO0FBRVAsTUFBTSww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c0IsUUFBZ0IsTUFBcUIsU0FBdUI7QUFDekYsTUFBSSxDQUFDLG9CQUFvQixNQUFNLEdBQUc7QUFDaEM7QUFBQSxFQUNGO0FBQ0EsTUFBSSxLQUFDLDBCQUFPLElBQUksR0FBRztBQUNqQjtBQUFBLEVBQ0Y7QUFDQSxRQUFNLFVBQVUsS0FBSztBQUNyQixlQUFhLE9BQU8sS0FBSyxTQUFTLE9BQU87QUFDM0M7QUFFQSxTQUFTLGlCQUFpQixvQkFBOEMsV0FBZ0Msc0JBQXdELE1BQW9CO0FBQ2xMLGFBQVcsQ0FBQyxjQUFjLEtBQUssS0FBSyxtQkFBbUIsUUFBUSxHQUFHO0FBQ2hFLFVBQU0sa0JBQWtCLFVBQVUsSUFBSSxZQUFZLEtBQUs7QUFDdkQsVUFBTSxvQkFBb0IscUJBQXFCLElBQUksZUFBZSxLQUFLLG9CQUFJLElBQW9CO0FBQy9GLHlCQUFxQixJQUFJLGlCQUFpQixpQkFBaUI7QUFDM0QsZUFBVyxRQUFRLE9BQU87QUFDeEIsd0JBQWtCLFFBQUksc0JBQU8sSUFBSSxHQUFHLElBQUk7QUFBQSxJQUMxQztBQUFBLEVBQ0Y7QUFDRjtBQUVBLFNBQVMsc0JBQXNCLEtBQWdCO0FBQzdDLFFBQU0sMEJBQTBCLDJCQUEyQixHQUFHO0FBQzlELGdDQUFZLDhEQUE4RCxFQUFFLG1EQUFtRCxLQUFLLFVBQVUsTUFBTSxLQUFLLHdCQUF3QixLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7QUFDN0w7QUFFQSxTQUFTLFFBQVEsU0FBaUIsU0FBeUI7QUFDekQsU0FBTyxHQUFHLE9BQU8sT0FBTyxPQUFPO0FBQ2pDO0FBRUEsZUFBZSxjQUFjLEtBQVUsU0FBaUIsU0FBa0M7QUFDeEYsZ0JBQVUsZ0NBQWtCLEtBQUssU0FBUyxPQUFPO0FBQ2pELE1BQUksWUFBWSxTQUFTO0FBQ3ZCLFdBQU87QUFBQSxFQUNUO0FBQ0EsUUFBTSxNQUFNLFFBQVEsU0FBUyxPQUFPO0FBQ3BDLGlCQUFlLElBQUksR0FBRztBQUN0QixZQUFVLFVBQU0seUJBQVcsS0FBSyxTQUFTLE9BQU87QUFDaEQsU0FBTztBQUNUO0FBRUEsU0FBUyxvQkFBb0IsUUFBeUI7QUFDcEQsUUFBTSxNQUFNLE9BQU87QUFDbkIsUUFBTSxXQUFXLE9BQU8sU0FBUztBQUVqQyxRQUFNLCtCQUErQiwyQkFBMkIsR0FBRztBQUNuRSxRQUFNLGVBQWUsTUFBTSxLQUFLLDZCQUE2QixLQUFLLENBQUMsRUFBRSxDQUFDO0FBQ3RFLE1BQUksaUJBQWlCLFVBQVU7QUFDN0IsV0FBTztBQUFBLEVBQ1Q7QUFDQSxTQUFPO0FBQ1Q7IiwKICAibmFtZXMiOiBbImludGVycnVwdGVkUmVuYW1lcyJdCn0K
@@ -65,32 +65,32 @@ __export(obsidian_exports, {
65
65
  VaultEx: () => VaultEx
66
66
  });
67
67
  module.exports = __toCommonJS(obsidian_exports);
68
- var App = __toESM(__extractDefault(require('./App.cjs')), 1);
69
- var AttachmentPath = __toESM(__extractDefault(require('./AttachmentPath.cjs')), 1);
70
- var Backlink = __toESM(__extractDefault(require('./Backlink.cjs')), 1);
71
- var Callout = __toESM(__extractDefault(require('./Callout.cjs')), 1);
72
- var Dataview = __toESM(__extractDefault(require('./Dataview.cjs')), 1);
73
- var DataviewLink = __toESM(__extractDefault(require('./DataviewLink.cjs')), 1);
74
- var FileChange = __toESM(__extractDefault(require('./FileChange.cjs')), 1);
75
- var FileManager = __toESM(__extractDefault(require('./FileManager.cjs')), 1);
76
- var FileSystem = __toESM(__extractDefault(require('./FileSystem.cjs')), 1);
77
- var Frontmatter = __toESM(__extractDefault(require('./Frontmatter.cjs')), 1);
78
- var Link = __toESM(__extractDefault(require('./Link.cjs')), 1);
79
- var Logger = __toESM(__extractDefault(require('./Logger.cjs')), 1);
80
- var Loop = __toESM(__extractDefault(require('./Loop.cjs')), 1);
81
- var Markdown = __toESM(__extractDefault(require('./Markdown.cjs')), 1);
82
- var MarkdownCodeBlockProcessor = __toESM(__extractDefault(require('./MarkdownCodeBlockProcessor.cjs')), 1);
83
- var MarkdownView = __toESM(__extractDefault(require('./MarkdownView.cjs')), 1);
84
- var MetadataCache = __toESM(__extractDefault(require('./MetadataCache.cjs')), 1);
85
- var Modal = __toESM(__extractDefault(require('./Modal/index.cjs')), 1);
86
- var ObsidianSettings = __toESM(__extractDefault(require('./ObsidianSettings.cjs')), 1);
87
- var Plugin = __toESM(__extractDefault(require('./Plugin/index.cjs')), 1);
88
- var Queue = __toESM(__extractDefault(require('./Queue.cjs')), 1);
89
- var Reference = __toESM(__extractDefault(require('./Reference.cjs')), 1);
90
- var RenameDeleteHandler = __toESM(__extractDefault(require('./RenameDeleteHandler.cjs')), 1);
91
- var ResourceUrl = __toESM(__extractDefault(require('./ResourceUrl.cjs')), 1);
92
- var Vault = __toESM(__extractDefault(require('./Vault.cjs')), 1);
93
- var VaultEx = __toESM(__extractDefault(require('./VaultEx.cjs')), 1);
68
+ var App = $1(__extractDefault($2), 1);
69
+ var AttachmentPath = $1(__extractDefault($2), 1);
70
+ var Backlink = $1(__extractDefault($2), 1);
71
+ var Callout = $1(__extractDefault($2), 1);
72
+ var Dataview = $1(__extractDefault($2), 1);
73
+ var DataviewLink = $1(__extractDefault($2), 1);
74
+ var FileChange = $1(__extractDefault($2), 1);
75
+ var FileManager = $1(__extractDefault($2), 1);
76
+ var FileSystem = $1(__extractDefault($2), 1);
77
+ var Frontmatter = $1(__extractDefault($2), 1);
78
+ var Link = $1(__extractDefault($2), 1);
79
+ var Logger = $1(__extractDefault($2), 1);
80
+ var Loop = $1(__extractDefault($2), 1);
81
+ var Markdown = $1(__extractDefault($2), 1);
82
+ var MarkdownCodeBlockProcessor = $1(__extractDefault($2), 1);
83
+ var MarkdownView = $1(__extractDefault($2), 1);
84
+ var MetadataCache = $1(__extractDefault($2), 1);
85
+ var Modal = $1(__extractDefault($2), 1);
86
+ var ObsidianSettings = $1(__extractDefault($2), 1);
87
+ var Plugin = $1(__extractDefault($2), 1);
88
+ var Queue = $1(__extractDefault($2), 1);
89
+ var Reference = $1(__extractDefault($2), 1);
90
+ var RenameDeleteHandler = $1(__extractDefault($2), 1);
91
+ var ResourceUrl = $1(__extractDefault($2), 1);
92
+ var Vault = $1(__extractDefault($2), 1);
93
+ var VaultEx = $1(__extractDefault($2), 1);
94
94
  // Annotate the CommonJS export names for ESM import in node:
95
95
  0 && (module.exports = {
96
96
  App,
@@ -34,6 +34,7 @@ __export(CliUtils_exports, {
34
34
  module.exports = __toCommonJS(CliUtils_exports);
35
35
  var import_Error = require('../Error.cjs');
36
36
  var import_Function = require('../Function.cjs');
37
+ var import_String = require('../String.cjs');
37
38
  var import_NodeModules = require('./NodeModules.cjs');
38
39
  var __process = globalThis["process"] ?? {
39
40
  "browser": true,
@@ -140,7 +141,9 @@ class SuccessTaskResult extends CliTaskResult {
140
141
  function toCommandLine(args) {
141
142
  return args.map((arg) => {
142
143
  if (/[\s"\n]/.test(arg)) {
143
- const escapedArg = arg.replace(/"/g, '\\"').replace(/\n/g, "\\n");
144
+ let escapedArg = arg;
145
+ escapedArg = (0, import_String.replaceAll)(escapedArg, /"/g, '\\"');
146
+ escapedArg = (0, import_String.replaceAll)(escapedArg, /\n/g, "\\n");
144
147
  return `"${escapedArg}"`;
145
148
  }
146
149
  return arg;
@@ -164,4 +167,4 @@ async function wrapResult(taskFn) {
164
167
  toCommandLine,
165
168
  wrapCliTask
166
169
  });
167
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3NjcmlwdHMvQ2xpVXRpbHMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzWydwcm9jZXNzJ10gPz8ge1xuICBcImJyb3dzZXJcIjogdHJ1ZSxcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIGNsaVxuICogQ29udGFpbnMgdXRpbGl0eSBjbGFzc2VzIGFuZCBmdW5jdGlvbnMgZm9yIG1hbmFnaW5nIHRhc2sgcmVzdWx0cywgaW5jbHVkaW5nXG4gKiBzdWNjZXNzLCBleGl0IGNvZGVzLCBhbmQgY2hhaW5pbmcgbXVsdGlwbGUgdGFza3MuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBNYXliZVByb21pc2UgfSBmcm9tICcuLi9Bc3luYy50cyc7XG5cbmltcG9ydCB7IHByaW50RXJyb3IgfSBmcm9tICcuLi9FcnJvci50cyc7XG5pbXBvcnQgeyBub29wIH0gZnJvbSAnLi4vRnVuY3Rpb24udHMnO1xuaW1wb3J0IHsgcHJvY2VzcyB9IGZyb20gJy4vTm9kZU1vZHVsZXMudHMnO1xuXG4vKipcbiAqIEFic3RyYWN0IGNsYXNzIHJlcHJlc2VudGluZyB0aGUgcmVzdWx0IG9mIGEgdGFzay4gSW5jbHVkZXMgbWV0aG9kcyBmb3IgaGFuZGxpbmcgc3VjY2VzcyxcbiAqIGV4aXQgY29kZXMsIGFuZCBjaGFpbmluZyB0YXNrcy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENsaVRhc2tSZXN1bHQge1xuICAvKipcbiAgICogQ2hhaW5zIG11bHRpcGxlIHRhc2tzIHRvZ2V0aGVyLCBleGVjdXRpbmcgdGhlbSBzZXF1ZW50aWFsbHkgdW50aWwgb25lIGZhaWxzLlxuICAgKlxuICAgKiBAcGFyYW0gdGFza3MgLSBBbiBhcnJheSBvZiB0YXNrIGZ1bmN0aW9ucyB0aGF0IHJldHVybiBhIGBUYXNrUmVzdWx0YCBvciBgdm9pZGAuXG4gICAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIGZpcnN0IGZhaWxlZCBgVGFza1Jlc3VsdGAgb3IgYSBzdWNjZXNzIHJlc3VsdC5cbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8taW52YWxpZC12b2lkLXR5cGVcbiAgcHVibGljIHN0YXRpYyBhc3luYyBjaGFpbih0YXNrczogKCgpID0+IE1heWJlUHJvbWlzZTxDbGlUYXNrUmVzdWx0IHwgdm9pZD4pW10pOiBQcm9taXNlPENsaVRhc2tSZXN1bHQ+IHtcbiAgICBmb3IgKGNvbnN0IHRhc2sgb2YgdGFza3MpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHdyYXBSZXN1bHQodGFzayk7XG4gICAgICBpZiAoIXJlc3VsdC5pc1N1Y2Nlc3NmdWwoKSkge1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBDbGlUYXNrUmVzdWx0LlN1Y2Nlc3MoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgYFRhc2tSZXN1bHRgIHRoYXQgZG9lcyBub3QgZXhpdCB0aGUgcHJvY2Vzcy5cbiAgICpcbiAgICogQHJldHVybnMgQSBgVGFza1Jlc3VsdGAgdGhhdCBkb2VzIG5vdCBleGl0IHRoZSBwcm9jZXNzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBEb05vdEV4aXQoKTogQ2xpVGFza1Jlc3VsdCB7XG4gICAgcmV0dXJuIG5ldyBEb05vdEV4aXRUYXNrUmVzdWx0KCk7XG4gIH1cblxuICAvKipcbiAgICogUmVwcmVzZW50cyBhIGZhaWx1cmUgcmVzdWx0IG9mIGEgQ0xJIHRhc2suXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBmYWlsdXJlIHJlc3VsdC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgRmFpbHVyZSgpOiBDbGlUYXNrUmVzdWx0IHtcbiAgICByZXR1cm4gdGhpcy5TdWNjZXNzKGZhbHNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgYFRhc2tSZXN1bHRgIGJhc2VkIG9uIGFuIGV4aXQgY29kZS5cbiAgICpcbiAgICogQHBhcmFtIGV4aXRDb2RlIC0gVGhlIGV4aXQgY29kZSB0byByZXByZXNlbnQuXG4gICAqIEByZXR1cm5zIEEgYFRhc2tSZXN1bHRgIHJlcHJlc2VudGluZyB0aGUgZXhpdCBjb2RlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBGcm9tRXhpdENvZGUoZXhpdENvZGU6IG51bWJlcik6IENsaVRhc2tSZXN1bHQge1xuICAgIHJldHVybiBuZXcgRXhpdENvZGVUYXNrUmVzdWx0KGV4aXRDb2RlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgQ2xpVGFza1Jlc3VsdCByZXByZXNlbnRpbmcgYSBzdWNjZXNzZnVsIHRhc2sgcmVzdWx0LlxuICAgKlxuICAgKiBAcGFyYW0gaXNTdWNjZXNzIC0gQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgdGFzayB3YXMgc3VjY2Vzc2Z1bC4gRGVmYXVsdCBpcyB0cnVlLlxuICAgKiBAcmV0dXJucyBBIENsaVRhc2tSZXN1bHQgb2JqZWN0IHJlcHJlc2VudGluZyBhIHN1Y2Nlc3NmdWwgdGFzayByZXN1bHQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIFN1Y2Nlc3MoaXNTdWNjZXNzID0gdHJ1ZSk6IENsaVRhc2tSZXN1bHQge1xuICAgIHJldHVybiBuZXcgU3VjY2Vzc1Rhc2tSZXN1bHQoaXNTdWNjZXNzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGl0cyB0aGUgcHJvY2VzcyBiYXNlZCBvbiB0aGUgdGFzayByZXN1bHQuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgZXhpdCgpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGlmIHRoZSB0YXNrIHdhcyBzdWNjZXNzZnVsLlxuICAgKlxuICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHRhc2sgd2FzIHN1Y2Nlc3NmdWwsIG90aGVyd2lzZSBgZmFsc2VgLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGlzU3VjY2Vzc2Z1bCgpOiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSB0YXNrIHJlc3VsdCB0aGF0IGRvZXMgbm90IGV4aXQgdGhlIHByb2Nlc3MuXG4gKi9cbmNsYXNzIERvTm90RXhpdFRhc2tSZXN1bHQgZXh0ZW5kcyBDbGlUYXNrUmVzdWx0IHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogRG9lcyBub3QgZXhpdCB0aGUgcHJvY2Vzcy5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBleGl0KCk6IHZvaWQge1xuICAgIG5vb3AoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBpc1N1Y2Nlc3NmdWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgdGFzayByZXN1bHQgYmFzZWQgb24gYW4gZXhpdCBjb2RlLlxuICovXG5jbGFzcyBFeGl0Q29kZVRhc2tSZXN1bHQgZXh0ZW5kcyBDbGlUYXNrUmVzdWx0IHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZXhpdENvZGU6IG51bWJlcikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogRXhpdHMgdGhlIHByb2Nlc3Mgd2l0aCB0aGUgc3BlY2lmaWVkIGV4aXQgY29kZS5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBleGl0KCk6IHZvaWQge1xuICAgIHByb2Nlc3MuZXhpdCh0aGlzLmV4aXRDb2RlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBpc1N1Y2Nlc3NmdWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZXhpdENvZGUgPT09IDA7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgdGFzayByZXN1bHQgYmFzZWQgb24gc3VjY2VzcyBvciBmYWlsdXJlLlxuICovXG5jbGFzcyBTdWNjZXNzVGFza1Jlc3VsdCBleHRlbmRzIENsaVRhc2tSZXN1bHQge1xuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBfaXNTdWNjZXNzZnVsOiBib29sZWFuKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGl0cyB0aGUgcHJvY2VzcyBiYXNlZCBvbiB0aGUgc3VjY2VzcyBvZiB0aGUgdGFzay5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBleGl0KCk6IHZvaWQge1xuICAgIHByb2Nlc3MuZXhpdCh0aGlzLl9pc1N1Y2Nlc3NmdWwgPyAwIDogMSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaXNTdWNjZXNzZnVsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pc1N1Y2Nlc3NmdWw7XG4gIH1cbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBhcnJheSBvZiBjb21tYW5kLWxpbmUgYXJndW1lbnRzIGludG8gYSBzaW5nbGUgY29tbWFuZC1saW5lIHN0cmluZy5cbiAqIEhhbmRsZXMgZXNjYXBpbmcgb2Ygc3BlY2lhbCBjaGFyYWN0ZXJzIHN1Y2ggYXMgc3BhY2VzLCBxdW90ZXMsIGFuZCBuZXdsaW5lcy5cbiAqXG4gKiBAcGFyYW0gYXJncyAtIFRoZSBhcnJheSBvZiBjb21tYW5kLWxpbmUgYXJndW1lbnRzIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIGNvbW1hbmQtbGluZSBpbnZvY2F0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9Db21tYW5kTGluZShhcmdzOiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gIHJldHVybiBhcmdzXG4gICAgLm1hcCgoYXJnKSA9PiB7XG4gICAgICBpZiAoL1tcXHNcIlxcbl0vLnRlc3QoYXJnKSkge1xuICAgICAgICBjb25zdCBlc2NhcGVkQXJnID0gYXJnLnJlcGxhY2UoL1wiL2csICdcXFxcXCInKS5yZXBsYWNlKC9cXG4vZywgJ1xcXFxuJyk7XG4gICAgICAgIHJldHVybiBgXCIke2VzY2FwZWRBcmd9XCJgO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFyZztcbiAgICB9KVxuICAgIC5qb2luKCcgJyk7XG59XG5cbi8qKlxuICogV3JhcHMgYSBDTEkgdGFzayBmdW5jdGlvbiB0byBlbnN1cmUgaXQgcnVucyBzYWZlbHkgYW5kIGhhbmRsZXMgaXRzIGBUYXNrUmVzdWx0YC5cbiAqXG4gKiBAcGFyYW0gdGFza0ZuIC0gVGhlIHRhc2sgZnVuY3Rpb24gdG8gZXhlY3V0ZSwgd2hpY2ggbWF5IHJldHVybiBhIGBUYXNrUmVzdWx0YCBvciB2b2lkLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgdGFzayBpcyBjb21wbGV0ZWQgYW5kIGV4aXRzIHdpdGggdGhlIGFwcHJvcHJpYXRlIHN0YXR1cy5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1pbnZhbGlkLXZvaWQtdHlwZVxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdyYXBDbGlUYXNrKHRhc2tGbjogKCkgPT4gTWF5YmVQcm9taXNlPENsaVRhc2tSZXN1bHQgfCB2b2lkPik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCByZXN1bHQgPSBhd2FpdCB3cmFwUmVzdWx0KHRhc2tGbik7XG4gIHJlc3VsdC5leGl0KCk7XG59XG5cbi8qKlxuICogU2FmZWx5IGV4ZWN1dGVzIGEgdGFzayBmdW5jdGlvbiBhbmQgcmV0dXJucyBhIGBUYXNrUmVzdWx0YC4gSWYgdGhlIHRhc2sgZnVuY3Rpb24gdGhyb3dzIGFuIGVycm9yLFxuICogdGhlIGVycm9yIGlzIGNhdWdodCwgYW5kIGEgZmFpbHVyZSBgVGFza1Jlc3VsdGAgaXMgcmV0dXJuZWQuXG4gKlxuICogQHBhcmFtIHRhc2tGbiAtIFRoZSB0YXNrIGZ1bmN0aW9uIHRvIGV4ZWN1dGUuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIGEgYFRhc2tSZXN1bHRgIHJlcHJlc2VudGluZyB0aGUgb3V0Y29tZSBvZiB0aGUgdGFzay5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1pbnZhbGlkLXZvaWQtdHlwZVxuYXN5bmMgZnVuY3Rpb24gd3JhcFJlc3VsdCh0YXNrRm46ICgpID0+IE1heWJlUHJvbWlzZTxDbGlUYXNrUmVzdWx0IHwgdm9pZD4pOiBQcm9taXNlPENsaVRhc2tSZXN1bHQ+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gYXdhaXQgdGFza0ZuKCkgYXMgQ2xpVGFza1Jlc3VsdCB8IHVuZGVmaW5lZCA/PyBDbGlUYXNrUmVzdWx0LlN1Y2Nlc3MoKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBwcmludEVycm9yKG5ldyBFcnJvcignQW4gZXJyb3Igb2NjdXJyZWQgZHVyaW5nIHRhc2sgZXhlY3V0aW9uJywgeyBjYXVzZTogZXJyb3IgfSkpO1xuICAgIHJldHVybiBDbGlUYXNrUmVzdWx0LkZhaWx1cmUoKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFjQSxtQkFBMkI7QUFDM0Isc0JBQXFCO0FBQ3JCLHlCQUF3QjtBQWhCeEIsSUFBSSxZQUFZLFdBQVcsU0FBUyxLQUFLO0FBQUEsRUFDdkMsV0FBVztBQUFBLEVBQ1gsT0FBTyxNQUFJO0FBQUEsRUFDWCxPQUFPLENBQUM7QUFBQSxFQUNSLFlBQVk7QUFDZDtBQWlCTyxNQUFlLGNBQWM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUWxDLGFBQW9CLE1BQU0sT0FBNkU7QUFDckcsZUFBVyxRQUFRLE9BQU87QUFDeEIsWUFBTSxTQUFTLE1BQU0sV0FBVyxJQUFJO0FBQ3BDLFVBQUksQ0FBQyxPQUFPLGFBQWEsR0FBRztBQUMxQixlQUFPO0FBQUEsTUFDVDtBQUFBLElBQ0Y7QUFFQSxXQUFPLGNBQWMsUUFBUTtBQUFBLEVBQy9CO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT0EsT0FBYyxZQUEyQjtBQUN2QyxXQUFPLElBQUksb0JBQW9CO0FBQUEsRUFDakM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxPQUFjLFVBQXlCO0FBQ3JDLFdBQU8sS0FBSyxRQUFRLEtBQUs7QUFBQSxFQUMzQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsT0FBYyxhQUFhLFVBQWlDO0FBQzFELFdBQU8sSUFBSSxtQkFBbUIsUUFBUTtBQUFBLEVBQ3hDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxPQUFjLFFBQVEsWUFBWSxNQUFxQjtBQUNyRCxXQUFPLElBQUksa0JBQWtCLFNBQVM7QUFBQSxFQUN4QztBQWFGO0FBS0EsTUFBTSw0QkFBNEIsY0FBYztBQUFBLEVBQ3ZDLGNBQWM7QUFDbkIsVUFBTTtBQUFBLEVBQ1I7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtnQixPQUFhO0FBQzNCLDhCQUFLO0FBQUEsRUFDUDtBQUFBLEVBRW1CLGVBQXdCO0FBQ3pDLFdBQU87QUFBQSxFQUNUO0FBQ0Y7QUFLQSxNQUFNLDJCQUEyQixjQUFjO0FBQUEsRUFDdEMsWUFBNkIsVUFBa0I7QUFDcEQsVUFBTTtBQUQ0QjtBQUFBLEVBRXBDO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLZ0IsT0FBYTtBQUMzQiwrQkFBUSxLQUFLLEtBQUssUUFBUTtBQUFBLEVBQzVCO0FBQUEsRUFFbUIsZUFBd0I7QUFDekMsV0FBTyxLQUFLLGFBQWE7QUFBQSxFQUMzQjtBQUNGO0FBS0EsTUFBTSwwQkFBMEIsY0FBYztBQUFBLEVBQ3JDLFlBQTZCLGVBQXdCO0FBQzFELFVBQU07QUFENEI7QUFBQSxFQUVwQztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS2dCLE9BQWE7QUFDM0IsK0JBQVEsS0FBSyxLQUFLLGdCQUFnQixJQUFJLENBQUM7QUFBQSxFQUN6QztBQUFBLEVBRW1CLGVBQXdCO0FBQ3pDLFdBQU8sS0FBSztBQUFBLEVBQ2Q7QUFDRjtBQVNPLFNBQVMsY0FBYyxNQUF3QjtBQUNwRCxTQUFPLEtBQ0osSUFBSSxDQUFDLFFBQVE7QUFDWixRQUFJLFVBQVUsS0FBSyxHQUFHLEdBQUc7QUFDdkIsWUFBTSxhQUFhLElBQUksUUFBUSxNQUFNLEtBQUssRUFBRSxRQUFRLE9BQU8sS0FBSztBQUNoRSxhQUFPLElBQUksVUFBVTtBQUFBLElBQ3ZCO0FBQ0EsV0FBTztBQUFBLEVBQ1QsQ0FBQyxFQUNBLEtBQUssR0FBRztBQUNiO0FBU0EsZUFBc0IsWUFBWSxRQUFpRTtBQUNqRyxRQUFNLFNBQVMsTUFBTSxXQUFXLE1BQU07QUFDdEMsU0FBTyxLQUFLO0FBQ2Q7QUFVQSxlQUFlLFdBQVcsUUFBMEU7QUFDbEcsTUFBSTtBQUNGLFdBQU8sTUFBTSxPQUFPLEtBQWtDLGNBQWMsUUFBUTtBQUFBLEVBQzlFLFNBQVMsT0FBTztBQUNkLGlDQUFXLElBQUksTUFBTSwyQ0FBMkMsRUFBRSxPQUFPLE1BQU0sQ0FBQyxDQUFDO0FBQ2pGLFdBQU8sY0FBYyxRQUFRO0FBQUEsRUFDL0I7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
170
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3NjcmlwdHMvQ2xpVXRpbHMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzWydwcm9jZXNzJ10gPz8ge1xuICBcImJyb3dzZXJcIjogdHJ1ZSxcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIGNsaVxuICogQ29udGFpbnMgdXRpbGl0eSBjbGFzc2VzIGFuZCBmdW5jdGlvbnMgZm9yIG1hbmFnaW5nIHRhc2sgcmVzdWx0cywgaW5jbHVkaW5nXG4gKiBzdWNjZXNzLCBleGl0IGNvZGVzLCBhbmQgY2hhaW5pbmcgbXVsdGlwbGUgdGFza3MuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBNYXliZVByb21pc2UgfSBmcm9tICcuLi9Bc3luYy50cyc7XG5cbmltcG9ydCB7IHByaW50RXJyb3IgfSBmcm9tICcuLi9FcnJvci50cyc7XG5pbXBvcnQgeyBub29wIH0gZnJvbSAnLi4vRnVuY3Rpb24udHMnO1xuaW1wb3J0IHsgcmVwbGFjZUFsbCB9IGZyb20gJy4uL1N0cmluZy50cyc7XG5pbXBvcnQgeyBwcm9jZXNzIH0gZnJvbSAnLi9Ob2RlTW9kdWxlcy50cyc7XG5cbi8qKlxuICogQWJzdHJhY3QgY2xhc3MgcmVwcmVzZW50aW5nIHRoZSByZXN1bHQgb2YgYSB0YXNrLiBJbmNsdWRlcyBtZXRob2RzIGZvciBoYW5kbGluZyBzdWNjZXNzLFxuICogZXhpdCBjb2RlcywgYW5kIGNoYWluaW5nIHRhc2tzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ2xpVGFza1Jlc3VsdCB7XG4gIC8qKlxuICAgKiBDaGFpbnMgbXVsdGlwbGUgdGFza3MgdG9nZXRoZXIsIGV4ZWN1dGluZyB0aGVtIHNlcXVlbnRpYWxseSB1bnRpbCBvbmUgZmFpbHMuXG4gICAqXG4gICAqIEBwYXJhbSB0YXNrcyAtIEFuIGFycmF5IG9mIHRhc2sgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgYFRhc2tSZXN1bHRgIG9yIGB2b2lkYC5cbiAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgZmlyc3QgZmFpbGVkIGBUYXNrUmVzdWx0YCBvciBhIHN1Y2Nlc3MgcmVzdWx0LlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1pbnZhbGlkLXZvaWQtdHlwZVxuICBwdWJsaWMgc3RhdGljIGFzeW5jIGNoYWluKHRhc2tzOiAoKCkgPT4gTWF5YmVQcm9taXNlPENsaVRhc2tSZXN1bHQgfCB2b2lkPilbXSk6IFByb21pc2U8Q2xpVGFza1Jlc3VsdD4ge1xuICAgIGZvciAoY29uc3QgdGFzayBvZiB0YXNrcykge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgd3JhcFJlc3VsdCh0YXNrKTtcbiAgICAgIGlmICghcmVzdWx0LmlzU3VjY2Vzc2Z1bCgpKSB7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIENsaVRhc2tSZXN1bHQuU3VjY2VzcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBgVGFza1Jlc3VsdGAgdGhhdCBkb2VzIG5vdCBleGl0IHRoZSBwcm9jZXNzLlxuICAgKlxuICAgKiBAcmV0dXJucyBBIGBUYXNrUmVzdWx0YCB0aGF0IGRvZXMgbm90IGV4aXQgdGhlIHByb2Nlc3MuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIERvTm90RXhpdCgpOiBDbGlUYXNrUmVzdWx0IHtcbiAgICByZXR1cm4gbmV3IERvTm90RXhpdFRhc2tSZXN1bHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXByZXNlbnRzIGEgZmFpbHVyZSByZXN1bHQgb2YgYSBDTEkgdGFzay5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIGZhaWx1cmUgcmVzdWx0LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBGYWlsdXJlKCk6IENsaVRhc2tSZXN1bHQge1xuICAgIHJldHVybiB0aGlzLlN1Y2Nlc3MoZmFsc2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBgVGFza1Jlc3VsdGAgYmFzZWQgb24gYW4gZXhpdCBjb2RlLlxuICAgKlxuICAgKiBAcGFyYW0gZXhpdENvZGUgLSBUaGUgZXhpdCBjb2RlIHRvIHJlcHJlc2VudC5cbiAgICogQHJldHVybnMgQSBgVGFza1Jlc3VsdGAgcmVwcmVzZW50aW5nIHRoZSBleGl0IGNvZGUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIEZyb21FeGl0Q29kZShleGl0Q29kZTogbnVtYmVyKTogQ2xpVGFza1Jlc3VsdCB7XG4gICAgcmV0dXJuIG5ldyBFeGl0Q29kZVRhc2tSZXN1bHQoZXhpdENvZGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBDbGlUYXNrUmVzdWx0IHJlcHJlc2VudGluZyBhIHN1Y2Nlc3NmdWwgdGFzayByZXN1bHQuXG4gICAqXG4gICAqIEBwYXJhbSBpc1N1Y2Nlc3MgLSBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSB0YXNrIHdhcyBzdWNjZXNzZnVsLiBEZWZhdWx0IGlzIHRydWUuXG4gICAqIEByZXR1cm5zIEEgQ2xpVGFza1Jlc3VsdCBvYmplY3QgcmVwcmVzZW50aW5nIGEgc3VjY2Vzc2Z1bCB0YXNrIHJlc3VsdC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgU3VjY2Vzcyhpc1N1Y2Nlc3MgPSB0cnVlKTogQ2xpVGFza1Jlc3VsdCB7XG4gICAgcmV0dXJuIG5ldyBTdWNjZXNzVGFza1Jlc3VsdChpc1N1Y2Nlc3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4aXRzIHRoZSBwcm9jZXNzIGJhc2VkIG9uIHRoZSB0YXNrIHJlc3VsdC5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBleGl0KCk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgdGhlIHRhc2sgd2FzIHN1Y2Nlc3NmdWwuXG4gICAqXG4gICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgdGFzayB3YXMgc3VjY2Vzc2Z1bCwgb3RoZXJ3aXNlIGBmYWxzZWAuXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgaXNTdWNjZXNzZnVsKCk6IGJvb2xlYW47XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHRhc2sgcmVzdWx0IHRoYXQgZG9lcyBub3QgZXhpdCB0aGUgcHJvY2Vzcy5cbiAqL1xuY2xhc3MgRG9Ob3RFeGl0VGFza1Jlc3VsdCBleHRlbmRzIENsaVRhc2tSZXN1bHQge1xuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEb2VzIG5vdCBleGl0IHRoZSBwcm9jZXNzLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGV4aXQoKTogdm9pZCB7XG4gICAgbm9vcCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGlzU3VjY2Vzc2Z1bCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSB0YXNrIHJlc3VsdCBiYXNlZCBvbiBhbiBleGl0IGNvZGUuXG4gKi9cbmNsYXNzIEV4aXRDb2RlVGFza1Jlc3VsdCBleHRlbmRzIENsaVRhc2tSZXN1bHQge1xuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBleGl0Q29kZTogbnVtYmVyKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGl0cyB0aGUgcHJvY2VzcyB3aXRoIHRoZSBzcGVjaWZpZWQgZXhpdCBjb2RlLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGV4aXQoKTogdm9pZCB7XG4gICAgcHJvY2Vzcy5leGl0KHRoaXMuZXhpdENvZGUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGlzU3VjY2Vzc2Z1bCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5leGl0Q29kZSA9PT0gMDtcbiAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSB0YXNrIHJlc3VsdCBiYXNlZCBvbiBzdWNjZXNzIG9yIGZhaWx1cmUuXG4gKi9cbmNsYXNzIFN1Y2Nlc3NUYXNrUmVzdWx0IGV4dGVuZHMgQ2xpVGFza1Jlc3VsdCB7XG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IF9pc1N1Y2Nlc3NmdWw6IGJvb2xlYW4pIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4aXRzIHRoZSBwcm9jZXNzIGJhc2VkIG9uIHRoZSBzdWNjZXNzIG9mIHRoZSB0YXNrLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGV4aXQoKTogdm9pZCB7XG4gICAgcHJvY2Vzcy5leGl0KHRoaXMuX2lzU3VjY2Vzc2Z1bCA/IDAgOiAxKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBpc1N1Y2Nlc3NmdWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2lzU3VjY2Vzc2Z1bDtcbiAgfVxufVxuXG4vKipcbiAqIENvbnZlcnRzIGFuIGFycmF5IG9mIGNvbW1hbmQtbGluZSBhcmd1bWVudHMgaW50byBhIHNpbmdsZSBjb21tYW5kLWxpbmUgc3RyaW5nLlxuICogSGFuZGxlcyBlc2NhcGluZyBvZiBzcGVjaWFsIGNoYXJhY3RlcnMgc3VjaCBhcyBzcGFjZXMsIHF1b3RlcywgYW5kIG5ld2xpbmVzLlxuICpcbiAqIEBwYXJhbSBhcmdzIC0gVGhlIGFycmF5IG9mIGNvbW1hbmQtbGluZSBhcmd1bWVudHMgdG8gY29udmVydC5cbiAqIEByZXR1cm5zIEEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgY29tbWFuZC1saW5lIGludm9jYXRpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0NvbW1hbmRMaW5lKGFyZ3M6IHN0cmluZ1tdKTogc3RyaW5nIHtcbiAgcmV0dXJuIGFyZ3NcbiAgICAubWFwKChhcmcpID0+IHtcbiAgICAgIGlmICgvW1xcc1wiXFxuXS8udGVzdChhcmcpKSB7XG4gICAgICAgIGxldCBlc2NhcGVkQXJnID0gYXJnO1xuICAgICAgICBlc2NhcGVkQXJnID0gcmVwbGFjZUFsbChlc2NhcGVkQXJnLCAvXCIvZywgJ1xcXFxcIicpO1xuICAgICAgICBlc2NhcGVkQXJnID0gcmVwbGFjZUFsbChlc2NhcGVkQXJnLCAvXFxuL2csICdcXFxcbicpO1xuICAgICAgICByZXR1cm4gYFwiJHtlc2NhcGVkQXJnfVwiYDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhcmc7XG4gICAgfSlcbiAgICAuam9pbignICcpO1xufVxuXG4vKipcbiAqIFdyYXBzIGEgQ0xJIHRhc2sgZnVuY3Rpb24gdG8gZW5zdXJlIGl0IHJ1bnMgc2FmZWx5IGFuZCBoYW5kbGVzIGl0cyBgVGFza1Jlc3VsdGAuXG4gKlxuICogQHBhcmFtIHRhc2tGbiAtIFRoZSB0YXNrIGZ1bmN0aW9uIHRvIGV4ZWN1dGUsIHdoaWNoIG1heSByZXR1cm4gYSBgVGFza1Jlc3VsdGAgb3Igdm9pZC5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHRhc2sgaXMgY29tcGxldGVkIGFuZCBleGl0cyB3aXRoIHRoZSBhcHByb3ByaWF0ZSBzdGF0dXMuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8taW52YWxpZC12b2lkLXR5cGVcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3cmFwQ2xpVGFzayh0YXNrRm46ICgpID0+IE1heWJlUHJvbWlzZTxDbGlUYXNrUmVzdWx0IHwgdm9pZD4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgd3JhcFJlc3VsdCh0YXNrRm4pO1xuICByZXN1bHQuZXhpdCgpO1xufVxuXG4vKipcbiAqIFNhZmVseSBleGVjdXRlcyBhIHRhc2sgZnVuY3Rpb24gYW5kIHJldHVybnMgYSBgVGFza1Jlc3VsdGAuIElmIHRoZSB0YXNrIGZ1bmN0aW9uIHRocm93cyBhbiBlcnJvcixcbiAqIHRoZSBlcnJvciBpcyBjYXVnaHQsIGFuZCBhIGZhaWx1cmUgYFRhc2tSZXN1bHRgIGlzIHJldHVybmVkLlxuICpcbiAqIEBwYXJhbSB0YXNrRm4gLSBUaGUgdGFzayBmdW5jdGlvbiB0byBleGVjdXRlLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCBhIGBUYXNrUmVzdWx0YCByZXByZXNlbnRpbmcgdGhlIG91dGNvbWUgb2YgdGhlIHRhc2suXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8taW52YWxpZC12b2lkLXR5cGVcbmFzeW5jIGZ1bmN0aW9uIHdyYXBSZXN1bHQodGFza0ZuOiAoKSA9PiBNYXliZVByb21pc2U8Q2xpVGFza1Jlc3VsdCB8IHZvaWQ+KTogUHJvbWlzZTxDbGlUYXNrUmVzdWx0PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGF3YWl0IHRhc2tGbigpIGFzIENsaVRhc2tSZXN1bHQgfCB1bmRlZmluZWQgPz8gQ2xpVGFza1Jlc3VsdC5TdWNjZXNzKCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgcHJpbnRFcnJvcihuZXcgRXJyb3IoJ0FuIGVycm9yIG9jY3VycmVkIGR1cmluZyB0YXNrIGV4ZWN1dGlvbicsIHsgY2F1c2U6IGVycm9yIH0pKTtcbiAgICByZXR1cm4gQ2xpVGFza1Jlc3VsdC5GYWlsdXJlKCk7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBY0EsbUJBQTJCO0FBQzNCLHNCQUFxQjtBQUNyQixvQkFBMkI7QUFDM0IseUJBQXdCO0FBakJ4QixJQUFJLFlBQVksV0FBVyxTQUFTLEtBQUs7QUFBQSxFQUN2QyxXQUFXO0FBQUEsRUFDWCxPQUFPLE1BQUk7QUFBQSxFQUNYLE9BQU8sQ0FBQztBQUFBLEVBQ1IsWUFBWTtBQUNkO0FBa0JPLE1BQWUs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
@@ -40,12 +40,12 @@ __export(eslint_config_exports, {
40
40
  configs: () => configs
41
41
  });
42
42
  module.exports = __toCommonJS(eslint_config_exports);
43
- var import_js = __toESM(__extractDefault(require('@eslint/js')), 1);
44
- var import_eslint_plugin = __toESM(__extractDefault(require('@stylistic/eslint-plugin')), 1);
45
- var import_eslint_plugin_import_x = __toESM(__extractDefault(require('eslint-plugin-import-x')), 1);
46
- var import_eslint_plugin_modules_newlines = __toESM(__extractDefault(require('eslint-plugin-modules-newlines')), 1);
47
- var import_eslint_plugin_perfectionist = __toESM(__extractDefault(require('eslint-plugin-perfectionist')), 1);
48
- var import_typescript_eslint = __toESM(__extractDefault(require('typescript-eslint')), 1);
43
+ var import_js = $1(__extractDefault($2), 1);
44
+ var import_eslint_plugin = $1(__extractDefault($2), 1);
45
+ var import_eslint_plugin_import_x = $1(__extractDefault($2), 1);
46
+ var import_eslint_plugin_modules_newlines = $1(__extractDefault($2), 1);
47
+ var import_eslint_plugin_perfectionist = $1(__extractDefault($2), 1);
48
+ var import_typescript_eslint = $1(__extractDefault($2), 1);
49
49
  var import_Path = require('../../Path.cjs');
50
50
  var import_ObsidianDevUtilsRepoPaths = require('../ObsidianDevUtilsRepoPaths.cjs');
51
51
  var import_Root = require('../Root.cjs');
@@ -41,8 +41,8 @@ __export(ESLint_exports, {
41
41
  eslint_config: () => eslint_config
42
42
  });
43
43
  module.exports = __toCommonJS(ESLint_exports);
44
- var eslint_config = __toESM(__extractDefault(require('./eslint.config.cjs')), 1);
45
- var ESLint = __toESM(__extractDefault(require('./ESLint.cjs')), 1);
44
+ var eslint_config = $1(__extractDefault($2), 1);
45
+ var ESLint = $1(__extractDefault($2), 1);
46
46
  // Annotate the CommonJS export names for ESM import in node:
47
47
  0 && (module.exports = {
48
48
  ESLint,
@@ -60,7 +60,7 @@ __export(NodeModules_exports, {
60
60
  writeFileSync: () => import_node_fs.writeFileSync
61
61
  });
62
62
  module.exports = __toCommonJS(NodeModules_exports);
63
- var import_node_process = __toESM(__extractDefault(require('node:process')), 1);
63
+ var import_node_process = $1(__extractDefault($2), 1);
64
64
  var import_node_child_process = require('node:child_process');
65
65
  var import_node_fs = require('node:fs');
66
66
  var import_promises = require('node:fs/promises');
@@ -42,12 +42,6 @@ var import_Npm = require('./Npm.cjs');
42
42
  var import_NpmPublish = require('./NpmPublish.cjs');
43
43
  var import_spellcheck = require('./spellcheck.cjs');
44
44
  var import_version = require('./version.cjs');
45
- var __process = globalThis["process"] ?? {
46
- "browser": true,
47
- "cwd": () => "/",
48
- "env": {},
49
- "platform": "android"
50
- };
51
45
  var __import_meta_url = globalThis["import.meta.url"] ?? (() => {
52
46
  if (typeof __filename === "string") {
53
47
  const url = require('node:url');
@@ -58,6 +52,12 @@ var __import_meta_url = globalThis["import.meta.url"] ?? (() => {
58
52
  }
59
53
  return "";
60
54
  })();
55
+ var __process = globalThis["process"] ?? {
56
+ "browser": true,
57
+ "cwd": () => "/",
58
+ "env": {},
59
+ "platform": "android"
60
+ };
61
61
  const NODE_SCRIPT_ARGV_SKIP_COUNT = 2;
62
62
  function cli(argv = import_NodeModules.process.argv.slice(NODE_SCRIPT_ARGV_SKIP_COUNT)) {
63
63
  (0, import_Async.invokeAsyncSafely)(() => (0, import_CliUtils.wrapCliTask)(async () => {
@@ -85,4 +85,4 @@ function addCommand(program, name, description, taskFn) {
85
85
  0 && (module.exports = {
86
86
  cli
87
87
  });
88
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3NjcmlwdHMvY2xpLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1sncHJvY2VzcyddID8/IHtcbiAgXCJicm93c2VyXCI6IHRydWUsXG4gIFwiY3dkXCI6ICgpPT5cIi9cIixcbiAgXCJlbnZcIjoge30sXG4gIFwicGxhdGZvcm1cIjogXCJhbmRyb2lkXCJcbn07XG52YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzWydpbXBvcnQubWV0YS51cmwnXSA/PyAoKCk9PntpZih0eXBlb2YgX19maWxlbmFtZT09PVwic3RyaW5nXCIpe2NvbnN0IHVybD1yZXF1aXJlKFwibm9kZTp1cmxcIik7cmV0dXJuIHVybC5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpLmhyZWZ9aWYodHlwZW9mIHdpbmRvdyE9PVwidW5kZWZpbmVkXCIpe3JldHVybiB3aW5kb3cubG9jYXRpb24uaHJlZn1yZXR1cm5cIlwifSkoKTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIGNsaVxuICogVGhpcyBtb2R1bGUgZGVmaW5lcyBhIENMSSBmb3IgbWFuYWdpbmcgdmFyaW91cyB0YXNrcyByZWxhdGVkIHRvIE9ic2lkaWFuIHBsdWdpbiBkZXZlbG9wbWVudC5cbiAqIEl0IGxldmVyYWdlcyB0aGUgYGNvbW1hbmRlcmAgbGlicmFyeSB0byBkZWZpbmUgY29tbWFuZHMgZm9yIGJ1aWxkaW5nLCBsaW50aW5nLCBzcGVsbGNoZWNraW5nLFxuICogYW5kIHVwZGF0aW5nIHRoZSB2ZXJzaW9uIG9mIHRoZSBwbHVnaW4uIFRoZSBDTEkgaXMgZGVzaWduZWQgdG8gYmUgZmxleGlibGUgYW5kIGNhbiBoYW5kbGUgYm90aFxuICogc3luY2hyb25vdXMgYW5kIGFzeW5jaHJvbm91cyB0YXNrcy5cbiAqL1xuXG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnY29tbWFuZGVyJztcblxuaW1wb3J0IHR5cGUgeyBNYXliZVByb21pc2UgfSBmcm9tICcuLi9Bc3luYy50cyc7XG5cbmltcG9ydCB7IGludm9rZUFzeW5jU2FmZWx5IH0gZnJvbSAnLi4vQXN5bmMudHMnO1xuaW1wb3J0IHsgZ2V0RGlybmFtZSB9IGZyb20gJy4uL1BhdGgudHMnO1xuaW1wb3J0IHtcbiAgYnVpbGRDbGVhbixcbiAgYnVpbGRTdGF0aWMsXG4gIGJ1aWxkVmFsaWRhdGVcbn0gZnJvbSAnLi9idWlsZC50cyc7XG5pbXBvcnQge1xuICBDbGlUYXNrUmVzdWx0LFxuICB3cmFwQ2xpVGFza1xufSBmcm9tICcuL0NsaVV0aWxzLnRzJztcbmltcG9ydCB7XG4gIEJ1aWxkTW9kZSxcbiAgYnVpbGRPYnNpZGlhblBsdWdpblxufSBmcm9tICcuL2VzYnVpbGQvT2JzaWRpYW5QbHVnaW5CdWlsZGVyLnRzJztcbmltcG9ydCB7IGxpbnQgfSBmcm9tICcuL0VTTGludC9FU0xpbnQudHMnO1xuaW1wb3J0IHsgcHJvY2VzcyB9IGZyb20gJy4vTm9kZU1vZHVsZXMudHMnO1xuaW1wb3J0IHsgcmVhZFBhY2thZ2VKc29uIH0gZnJvbSAnLi9OcG0udHMnO1xuaW1wb3J0IHsgcHVibGlzaCB9IGZyb20gJy4vTnBtUHVibGlzaC50cyc7XG5pbXBvcnQgeyBzcGVsbGNoZWNrIH0gZnJvbSAnLi9zcGVsbGNoZWNrLnRzJztcbmltcG9ydCB7IHVwZGF0ZVZlcnNpb24gfSBmcm9tICcuL3ZlcnNpb24udHMnO1xuXG4vKipcbiAqIFRoZSBudW1iZXIgb2YgbGVhZGluZyBhcmd1bWVudHMgdG8gc2tpcCB3aGVuIHBhcnNpbmcgY29tbWFuZC1saW5lIGFyZ3VtZW50cy5cbiAqIFRoZSBmaXJzdCB0d28gZWxlbWVudHMgdHlwaWNhbGx5IHJlcHJlc2VudCB0aGUgTm9kZS5qcyBleGVjdXRhYmxlIGFuZCB0aGUgc2NyaXB0IHBhdGg6XG4gKiBgW1wibm9kZVwiLCBcInBhdGgvdG8vY2xpLmNqc1wiLCAuLi5hY3R1YWxBcmdzXWBcbiAqL1xuY29uc3QgTk9ERV9TQ1JJUFRfQVJHVl9TS0lQX0NPVU5UID0gMjtcblxuLyoqXG4gKiBFbnVtIHJlcHJlc2VudGluZyB0aGUgbmFtZXMgb2YgdGhlIGNvbW1hbmRzIGF2YWlsYWJsZSBpbiB0aGUgQ0xJLlxuICovXG5lbnVtIENvbW1hbmROYW1lcyB7XG4gIEJ1aWxkID0gJ2J1aWxkJyxcbiAgQnVpbGRDbGVhbiA9ICdidWlsZDpjbGVhbicsXG4gIEJ1aWxkU3RhdGljID0gJ2J1aWxkOnN0YXRpYycsXG4gIEJ1aWxkVmFsaWRhdGUgPSAnYnVpbGQ6dmFsaWRhdGUnLFxuICBEZXYgPSAnZGV2JyxcbiAgTGludCA9ICdsaW50JyxcbiAgTGludEZpeCA9ICdsaW50OmZpeCcsXG4gIFB1Ymxpc2ggPSAncHVibGlzaCcsXG4gIFNwZWxsY2hlY2sgPSAnc3BlbGxjaGVjaycsXG4gIFZlcnNpb24gPSAndmVyc2lvbidcbn1cblxuLyoqXG4gKiBNYWluIGZ1bmN0aW9uIHRvIHJ1biB0aGUgQ0xJLiBJdCBzZXRzIHVwIHRoZSBjb21tYW5kcyB1c2luZyB0aGUgYGNvbW1hbmRlcmAgbGlicmFyeSBhbmRcbiAqIGhhbmRsZXMgdGhlIGV4ZWN1dGlvbiBvZiB0YXNrcyBsaWtlIGJ1aWxkaW5nLCBjbGVhbmluZywgbGludGluZywgc3BlbGxjaGVja2luZywgYW5kIHZlcnNpb25pbmcuXG4gKlxuICogQHBhcmFtIGFyZ3YgLSBUaGUgY29tbWFuZC1saW5lIGFyZ3VtZW50cyB0byBwYXJzZS4gRGVmYXVsdHMgdG8gYHByb2Nlc3MuYXJndmAgbWludXMgdGhlIGZpcnN0IHR3byBlbGVtZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsaShhcmd2OiBzdHJpbmdbXSA9IHByb2Nlc3MuYXJndi5zbGljZShOT0RFX1NDUklQVF9BUkdWX1NLSVBfQ09VTlQpKTogdm9pZCB7XG4gIGludm9rZUFzeW5jU2FmZWx5KCgpID0+IHdyYXBDbGlUYXNrKGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBwYWNrYWdlSnNvbiA9IGF3YWl0IHJlYWRQYWNrYWdlSnNvbihnZXREaXJuYW1lKGltcG9ydC5tZXRhLnVybCkpO1xuICAgIGNvbnN0IHByb2dyYW0gPSBuZXcgQ29tbWFuZCgpO1xuXG4gICAgcHJvZ3JhbVxuICAgICAgLm5hbWUocGFja2FnZUpzb24ubmFtZSA/PyAnKHVua25vd24pJylcbiAgICAgIC5kZXNjcmlwdGlvbignQ0xJIGZvciBPYnNpZGlhbiBwbHVnaW4gZGV2ZWxvcG1lbnQgdXRpbGl0aWVzJylcbiAgICAgIC52ZXJzaW9uKHBhY2thZ2VKc29uLnZlcnNpb24gPz8gJyh1bmtub3duKScpO1xuXG4gICAgYWRkQ29tbWFuZChwcm9ncmFtLCBDb21tYW5kTmFtZXMuQnVpbGQsICdCdWlsZCB0aGUgcGx1Z2luJywgKCkgPT4gYnVpbGRPYnNpZGlhblBsdWdpbih7IG1vZGU6IEJ1aWxkTW9kZS5Qcm9kdWN0aW9uIH0pKTtcbiAgICBhZGRDb21tYW5kKHByb2dyYW0sIENvbW1hbmROYW1lcy5CdWlsZENsZWFuLCAnQ2xlYW4gdGhlIGRpc3QgZm9sZGVyJywgKCkgPT4gYnVpbGRDbGVhbigpKTtcbiAgICBhZGRDb21tYW5kKHByb2dyYW0sIENvbW1hbmROYW1lcy5CdWlsZFN0YXRpYywgJ0NvcHkgc3RhdGljIGNvbnRlbnQgdG8gZGlzdCcsICgpID0+IGJ1aWxkU3RhdGljKCkpO1xuICAgIGFkZENvbW1hbmQocHJvZ3JhbSwgQ29tbWFuZE5hbWVzLkJ1aWxkVmFsaWRhdGUsICdWYWxpZGF0ZXMgaWYgVHlwZVNjcmlwdCBjb2RlIGNvbXBpbGVzJywgKCkgPT4gYnVpbGRWYWxpZGF0ZSgpKTtcbiAgICBhZGRDb21tYW5kKHByb2dyYW0sIENvbW1hbmROYW1lcy5EZXYsICdCdWlsZCB0aGUgcGx1Z2luIGluIGRldmVsb3BtZW50IG1vZGUnLCAoKSA9PiBidWlsZE9ic2lkaWFuUGx1Z2luKHsgbW9kZTogQnVpbGRNb2RlLkRldmVsb3BtZW50IH0pKTtcbiAgICBhZGRDb21tYW5kKHByb2dyYW0sIENvbW1hbmROYW1lcy5MaW50LCAnTGludCB0aGUgc291cmNlIGNvZGUnLCAoKSA9PiBsaW50KCkpO1xuICAgIGFkZENvbW1hbmQocHJvZ3JhbSwgQ29tbWFuZE5hbWVzLkxpbnRGaXgsICdMaW50IHRoZSBzb3VyY2UgY29kZSBhbmQgYXBwbHkgYXV0b21hdGljIGZpeGVzJywgKCkgPT4gbGludCh0cnVlKSk7XG4gICAgYWRkQ29tbWFuZChwcm9ncmFtLCBDb21tYW5kTmFtZXMuUHVibGlzaCwgJ1B1Ymxpc2ggdG8gTlBNJywgKGlzQmV0YTogYm9vbGVhbikgPT4gcHVibGlzaChpc0JldGEpKVxuICAgICAgLmFyZ3VtZW50KCdbaXNCZXRhXScsICdQdWJsaXNoIHRvIE5QTSBiZXRhJyk7XG4gICAgYWRkQ29tbWFuZChwcm9ncmFtLCBDb21tYW5kTmFtZXMuU3BlbGxjaGVjaywgJ1NwZWxsY2hlY2sgdGhlIHNvdXJjZSBjb2RlJywgKCkgPT4gc3BlbGxjaGVjaygpKTtcbiAgICBhZGRDb21tYW5kKHByb2dyYW0sIENvbW1hbmROYW1lcy5WZXJzaW9uLCAnUmVsZWFzZSBhIG5ldyB2ZXJzaW9uJywgKHZlcnNpb25VcGRhdGVUeXBlOiBzdHJpbmcpID0+IHVwZGF0ZVZlcnNpb24odmVyc2lvblVwZGF0ZVR5cGUpKVxuICAgICAgLmFyZ3VtZW50KCdbdmVyc2lvblVwZGF0ZVR5cGVdJywgJ1ZlcnNpb24gdXBkYXRlIHR5cGU6IG1ham9yLCBtaW5vciwgcGF0Y2gsIGJldGEsIG9yIHgueS56Wy1zdWZmaXhdJyk7XG4gICAgYXdhaXQgcHJvZ3JhbS5wYXJzZUFzeW5jKGFyZ3YsIHsgZnJvbTogJ3VzZXInIH0pO1xuICAgIHJldHVybiBDbGlUYXNrUmVzdWx0LkRvTm90RXhpdCgpO1xuICB9KSk7XG59XG5cbi8qKlxuICogQWRkcyBhIGNvbW1hbmQgdG8gdGhlIENMSSBwcm9ncmFtIHdpdGggdGhlIHNwZWNpZmllZCBuYW1lLCBkZXNjcmlwdGlvbiwgYW5kIHRhc2sgZnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIHByb2dyYW0gLSBUaGUgYGNvbW1hbmRlcmAgcHJvZ3JhbSBpbnN0YW5jZSB0byB3aGljaCB0aGUgY29tbWFuZCBpcyBhZGRlZC5cbiAqIEBwYXJhbSBuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGNvbW1hbmQuXG4gKiBAcGFyYW0gZGVzY3JpcHRpb24gLSBBIGJyaWVmIGRlc2NyaXB0aW9uIG9mIHdoYXQgdGhlIGNvbW1hbmQgZG9lcy5cbiAqIEBwYXJhbSB0YXNrRm4gLSBUaGUgZnVuY3Rpb24gdG8gZXhlY3V0ZSB3aGVuIHRoZSBjb21tYW5kIGlzIGludm9rZWQuIENhbiByZXR1cm4gYSBgVGFza1Jlc3VsdGAgb3Igdm9pZC5cbiAqIEByZXR1cm5zIFRoZSBgY29tbWFuZGVyYCBjb21tYW5kIGluc3RhbmNlIGZvciBmdXJ0aGVyIGNoYWluaW5nLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LXR5cGUtcGFyYW1ldGVycywgQHR5cGVzY3JpcHQtZXNsaW50L25vLWludmFsaWQtdm9pZC10eXBlXG5mdW5jdGlvbiBhZGRDb21tYW5kPEFyZ3MgZXh0ZW5kcyB1bmtub3duW10+KHByb2dyYW06IENvbW1hbmQsIG5hbWU6IHN0cmluZywgZGVzY3JpcHRpb246IHN0cmluZywgdGFza0ZuOiAoLi4uYXJnczogQXJncykgPT4gTWF5YmVQcm9taXNlPENsaVRhc2tSZXN1bHQgfCB2b2lkPik6IENvbW1hbmQge1xuICByZXR1cm4gcHJvZ3JhbS5jb21tYW5kKG5hbWUpXG4gICAgLmRlc2NyaXB0aW9uKGRlc2NyaXB0aW9uKVxuICAgIC5hY3Rpb24oKC4uLmFyZ3M6IEFyZ3MpID0+IHdyYXBDbGlUYXNrKCgpID0+IHRhc2tGbiguLi5hcmdzKSkpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWVBLHVCQUF3QjtBQUl4QixtQkFBa0M7QUFDbEMsa0JBQTJCO0FBQzNCLG1CQUlPO0FBQ1Asc0JBR087QUFDUCxtQ0FHTztBQUNQLG9CQUFxQjtBQUNyQix5QkFBd0I7QUFDeEIsaUJBQWdDO0FBQ2hDLHdCQUF3QjtBQUN4Qix3QkFBMkI7QUFDM0IscUJBQThCO0FBdkM5QixJQUFJLFlBQVksV0FBVyxTQUFTLEtBQUs7QUFBQSxFQUN2QyxXQUFXO0FBQUEsRUFDWCxPQUFPLE1BQUk7QUFBQSxFQUNYLE9BQU8sQ0FBQztBQUFBLEVBQ1IsWUFBWTtBQUNkO0FBQ0EsSUFBSSxvQkFBb0IsV0FBVyxpQkFBaUIsTUFBTSxNQUFJO0FBQUMsTUFBRyxPQUFPLGVBQWEsVUFBUztBQUFDLFVBQU0sTUFBSSxRQUFRLFVBQVU7QUFBRSxXQUFPLElBQUksY0FBYyxVQUFVLEVBQUU7QUFBQSxFQUFJO0FBQUMsTUFBRyxPQUFPLFdBQVMsYUFBWTtBQUFDLFdBQU8sT0FBTyxTQUFTO0FBQUEsRUFBSTtBQUFDLFNBQU07QUFBRSxHQUFHO0FBd0MvTyxNQUFNLDhCQUE4QjtBQXdCN0IsU0FBUyxJQUFJLE9BQWlCLDJCQUFRLEtBQUssTUFBTSwyQkFBMkIsR0FBUztBQUMxRixzQ0FBa0IsVUFBTSw2QkFBWSxZQUFZO0FBQzlDLFVBQU0sY0FBYyxVQUFNLGdDQUFnQix3QkFBVyxpQkFBZSxDQUFDO0FBQ3JFLFVBQU0sVUFBVSxJQUFJLHlCQUFRO0FBRTVCLFlBQ0csS0FBSyxZQUFZLFFBQVEsV0FBVyxFQUNwQyxZQUFZLCtDQUErQyxFQUMzRCxRQUFRLFlBQVksV0FBVyxXQUFXO0FBRTdDLGVBQVcsU0FBUyxxQkFBb0Isb0JBQW9CLFVBQU0sa0RBQW9CLEVBQUUsTUFBTSx1Q0FBVSxXQUFXLENBQUMsQ0FBQztBQUNySCxlQUFXLFNBQVMsZ0NBQXlCLHlCQUF5QixVQUFNLHlCQUFXLENBQUM7QUFDeEYsZUFBVyxTQUFTLGtDQUEwQiwrQkFBK0IsVUFBTSwwQkFBWSxDQUFDO0FBQ2hHLGVBQVcsU0FBUyxzQ0FBNEIseUNBQXlDLFVBQU0sNEJBQWMsQ0FBQztBQUM5RyxlQUFXLFNBQVMsaUJBQWtCLHdDQUF3QyxVQUFNLGtEQUFvQixFQUFFLE1BQU0sdUNBQVUsWUFBWSxDQUFDLENBQUM7QUFDeEksZUFBVyxTQUFTLG1CQUFtQix3QkFBd0IsVUFBTSxvQkFBSyxDQUFDO0FBQzNFLGVBQVcsU0FBUywwQkFBc0Isa0RBQWtELFVBQU0sb0JBQUssSUFBSSxDQUFDO0FBQzVHLGVBQVcsU0FBUyx5QkFBc0Isa0JBQWtCLENBQUMsZUFBb0IsMkJBQVEsTUFBTSxDQUFDLEVBQzdGLFNBQVMsWUFBWSxxQkFBcUI7QUFDN0MsZUFBVyxTQUFTLCtCQUF5Qiw4QkFBOEIsVUFBTSw4QkFBVyxDQUFDO0FBQzdGLGVBQVcsU0FBUyx5QkFBc0IseUJBQXlCLENBQUMsMEJBQThCLDhCQUFjLGlCQUFpQixDQUFDLEVBQy9ILFNBQVMsdUJBQXVCLG1FQUFtRTtBQUN0RyxVQUFNLFFBQVEsV0FBVyxNQUFNLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDL0MsV0FBTyw4QkFBYyxVQUFVO0FBQUEsRUFDakMsQ0FBQyxDQUFDO0FBQ0o7QUFZQSxTQUFTLFdBQW1DLFNBQWtCLE1BQWMsYUFBcUIsUUFBd0U7QUFDdkssU0FBTyxRQUFRLFFBQVEsSUFBSSxFQUN4QixZQUFZLFdBQVcsRUFDdkIsT0FBTyxJQUFJLGFBQWUsNkJBQVksTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDakU7IiwKICAibmFtZXMiOiBbXQp9Cg==
88
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3NjcmlwdHMvY2xpLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzWydpbXBvcnQubWV0YS51cmwnXSA/PyAoKCk9PntpZih0eXBlb2YgX19maWxlbmFtZT09PVwic3RyaW5nXCIpe2NvbnN0IHVybD1yZXF1aXJlKFwibm9kZTp1cmxcIik7cmV0dXJuIHVybC5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpLmhyZWZ9aWYodHlwZW9mIHdpbmRvdyE9PVwidW5kZWZpbmVkXCIpe3JldHVybiB3aW5kb3cubG9jYXRpb24uaHJlZn1yZXR1cm5cIlwifSkoKTtcbnZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzWydwcm9jZXNzJ10gPz8ge1xuICBcImJyb3dzZXJcIjogdHJ1ZSxcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIGNsaVxuICogVGhpcyBtb2R1bGUgZGVmaW5lcyBhIENMSSBmb3IgbWFuYWdpbmcgdmFyaW91cyB0YXNrcyByZWxhdGVkIHRvIE9ic2lkaWFuIHBsdWdpbiBkZXZlbG9wbWVudC5cbiAqIEl0IGxldmVyYWdlcyB0aGUgYGNvbW1hbmRlcmAgbGlicmFyeSB0byBkZWZpbmUgY29tbWFuZHMgZm9yIGJ1aWxkaW5nLCBsaW50aW5nLCBzcGVsbGNoZWNraW5nLFxuICogYW5kIHVwZGF0aW5nIHRoZSB2ZXJzaW9uIG9mIHRoZSBwbHVnaW4uIFRoZSBDTEkgaXMgZGVzaWduZWQgdG8gYmUgZmxleGlibGUgYW5kIGNhbiBoYW5kbGUgYm90aFxuICogc3luY2hyb25vdXMgYW5kIGFzeW5jaHJvbm91cyB0YXNrcy5cbiAqL1xuXG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnY29tbWFuZGVyJztcblxuaW1wb3J0IHR5cGUgeyBNYXliZVByb21pc2UgfSBmcm9tICcuLi9Bc3luYy50cyc7XG5cbmltcG9ydCB7IGludm9rZUFzeW5jU2FmZWx5IH0gZnJvbSAnLi4vQXN5bmMudHMnO1xuaW1wb3J0IHsgZ2V0RGlybmFtZSB9IGZyb20gJy4uL1BhdGgudHMnO1xuaW1wb3J0IHtcbiAgYnVpbGRDbGVhbixcbiAgYnVpbGRTdGF0aWMsXG4gIGJ1aWxkVmFsaWRhdGVcbn0gZnJvbSAnLi9idWlsZC50cyc7XG5pbXBvcnQge1xuICBDbGlUYXNrUmVzdWx0LFxuICB3cmFwQ2xpVGFza1xufSBmcm9tICcuL0NsaVV0aWxzLnRzJztcbmltcG9ydCB7XG4gIEJ1aWxkTW9kZSxcbiAgYnVpbGRPYnNpZGlhblBsdWdpblxufSBmcm9tICcuL2VzYnVpbGQvT2JzaWRpYW5QbHVnaW5CdWlsZGVyLnRzJztcbmltcG9ydCB7IGxpbnQgfSBmcm9tICcuL0VTTGludC9FU0xpbnQudHMnO1xuaW1wb3J0IHsgcHJvY2VzcyB9IGZyb20gJy4vTm9kZU1vZHVsZXMudHMnO1xuaW1wb3J0IHsgcmVhZFBhY2thZ2VKc29uIH0gZnJvbSAnLi9OcG0udHMnO1xuaW1wb3J0IHsgcHVibGlzaCB9IGZyb20gJy4vTnBtUHVibGlzaC50cyc7XG5pbXBvcnQgeyBzcGVsbGNoZWNrIH0gZnJvbSAnLi9zcGVsbGNoZWNrLnRzJztcbmltcG9ydCB7IHVwZGF0ZVZlcnNpb24gfSBmcm9tICcuL3ZlcnNpb24udHMnO1xuXG4vKipcbiAqIFRoZSBudW1iZXIgb2YgbGVhZGluZyBhcmd1bWVudHMgdG8gc2tpcCB3aGVuIHBhcnNpbmcgY29tbWFuZC1saW5lIGFyZ3VtZW50cy5cbiAqIFRoZSBmaXJzdCB0d28gZWxlbWVudHMgdHlwaWNhbGx5IHJlcHJlc2VudCB0aGUgTm9kZS5qcyBleGVjdXRhYmxlIGFuZCB0aGUgc2NyaXB0IHBhdGg6XG4gKiBgW1wibm9kZVwiLCBcInBhdGgvdG8vY2xpLmNqc1wiLCAuLi5hY3R1YWxBcmdzXWBcbiAqL1xuY29uc3QgTk9ERV9TQ1JJUFRfQVJHVl9TS0lQX0NPVU5UID0gMjtcblxuLyoqXG4gKiBFbnVtIHJlcHJlc2VudGluZyB0aGUgbmFtZXMgb2YgdGhlIGNvbW1hbmRzIGF2YWlsYWJsZSBpbiB0aGUgQ0xJLlxuICovXG5lbnVtIENvbW1hbmROYW1lcyB7XG4gIEJ1aWxkID0gJ2J1aWxkJyxcbiAgQnVpbGRDbGVhbiA9ICdidWlsZDpjbGVhbicsXG4gIEJ1aWxkU3RhdGljID0gJ2J1aWxkOnN0YXRpYycsXG4gIEJ1aWxkVmFsaWRhdGUgPSAnYnVpbGQ6dmFsaWRhdGUnLFxuICBEZXYgPSAnZGV2JyxcbiAgTGludCA9ICdsaW50JyxcbiAgTGludEZpeCA9ICdsaW50OmZpeCcsXG4gIFB1Ymxpc2ggPSAncHVibGlzaCcsXG4gIFNwZWxsY2hlY2sgPSAnc3BlbGxjaGVjaycsXG4gIFZlcnNpb24gPSAndmVyc2lvbidcbn1cblxuLyoqXG4gKiBNYWluIGZ1bmN0aW9uIHRvIHJ1biB0aGUgQ0xJLiBJdCBzZXRzIHVwIHRoZSBjb21tYW5kcyB1c2luZyB0aGUgYGNvbW1hbmRlcmAgbGlicmFyeSBhbmRcbiAqIGhhbmRsZXMgdGhlIGV4ZWN1dGlvbiBvZiB0YXNrcyBsaWtlIGJ1aWxkaW5nLCBjbGVhbmluZywgbGludGluZywgc3BlbGxjaGVja2luZywgYW5kIHZlcnNpb25pbmcuXG4gKlxuICogQHBhcmFtIGFyZ3YgLSBUaGUgY29tbWFuZC1saW5lIGFyZ3VtZW50cyB0byBwYXJzZS4gRGVmYXVsdHMgdG8gYHByb2Nlc3MuYXJndmAgbWludXMgdGhlIGZpcnN0IHR3byBlbGVtZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsaShhcmd2OiBzdHJpbmdbXSA9IHByb2Nlc3MuYXJndi5zbGljZShOT0RFX1NDUklQVF9BUkdWX1NLSVBfQ09VTlQpKTogdm9pZCB7XG4gIGludm9rZUFzeW5jU2FmZWx5KCgpID0+IHdyYXBDbGlUYXNrKGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBwYWNrYWdlSnNvbiA9IGF3YWl0IHJlYWRQYWNrYWdlSnNvbihnZXREaXJuYW1lKGltcG9ydC5tZXRhLnVybCkpO1xuICAgIGNvbnN0IHByb2dyYW0gPSBuZXcgQ29tbWFuZCgpO1xuXG4gICAgcHJvZ3JhbVxuICAgICAgLm5hbWUocGFja2FnZUpzb24ubmFtZSA/PyAnKHVua25vd24pJylcbiAgICAgIC5kZXNjcmlwdGlvbignQ0xJIGZvciBPYnNpZGlhbiBwbHVnaW4gZGV2ZWxvcG1lbnQgdXRpbGl0aWVzJylcbiAgICAgIC52ZXJzaW9uKHBhY2thZ2VKc29uLnZlcnNpb24gPz8gJyh1bmtub3duKScpO1xuXG4gICAgYWRkQ29tbWFuZChwcm9ncmFtLCBDb21tYW5kTmFtZXMuQnVpbGQsICdCdWlsZCB0aGUgcGx1Z2luJywgKCkgPT4gYnVpbGRPYnNpZGlhblBsdWdpbih7IG1vZGU6IEJ1aWxkTW9kZS5Qcm9kdWN0aW9uIH0pKTtcbiAgICBhZGRDb21tYW5kKHByb2dyYW0sIENvbW1hbmROYW1lcy5CdWlsZENsZWFuLCAnQ2xlYW4gdGhlIGRpc3QgZm9sZGVyJywgKCkgPT4gYnVpbGRDbGVhbigpKTtcbiAgICBhZGRDb21tYW5kKHByb2dyYW0sIENvbW1hbmROYW1lcy5CdWlsZFN0YXRpYywgJ0NvcHkgc3RhdGljIGNvbnRlbnQgdG8gZGlzdCcsICgpID0+IGJ1aWxkU3RhdGljKCkpO1xuICAgIGFkZENvbW1hbmQocHJvZ3JhbSwgQ29tbWFuZE5hbWVzLkJ1aWxkVmFsaWRhdGUsICdWYWxpZGF0ZXMgaWYgVHlwZVNjcmlwdCBjb2RlIGNvbXBpbGVzJywgKCkgPT4gYnVpbGRWYWxpZGF0ZSgpKTtcbiAgICBhZGRDb21tYW5kKHByb2dyYW0sIENvbW1hbmROYW1lcy5EZXYsICdCdWlsZCB0aGUgcGx1Z2luIGluIGRldmVsb3BtZW50IG1vZGUnLCAoKSA9PiBidWlsZE9ic2lkaWFuUGx1Z2luKHsgbW9kZTogQnVpbGRNb2RlLkRldmVsb3BtZW50IH0pKTtcbiAgICBhZGRDb21tYW5kKHByb2dyYW0sIENvbW1hbmROYW1lcy5MaW50LCAnTGludCB0aGUgc291cmNlIGNvZGUnLCAoKSA9PiBsaW50KCkpO1xuICAgIGFkZENvbW1hbmQocHJvZ3JhbSwgQ29tbWFuZE5hbWVzLkxpbnRGaXgsICdMaW50IHRoZSBzb3VyY2UgY29kZSBhbmQgYXBwbHkgYXV0b21hdGljIGZpeGVzJywgKCkgPT4gbGludCh0cnVlKSk7XG4gICAgYWRkQ29tbWFuZChwcm9ncmFtLCBDb21tYW5kTmFtZXMuUHVibGlzaCwgJ1B1Ymxpc2ggdG8gTlBNJywgKGlzQmV0YTogYm9vbGVhbikgPT4gcHVibGlzaChpc0JldGEpKVxuICAgICAgLmFyZ3VtZW50KCdbaXNCZXRhXScsICdQdWJsaXNoIHRvIE5QTSBiZXRhJyk7XG4gICAgYWRkQ29tbWFuZChwcm9ncmFtLCBDb21tYW5kTmFtZXMuU3BlbGxjaGVjaywgJ1NwZWxsY2hlY2sgdGhlIHNvdXJjZSBjb2RlJywgKCkgPT4gc3BlbGxjaGVjaygpKTtcbiAgICBhZGRDb21tYW5kKHByb2dyYW0sIENvbW1hbmROYW1lcy5WZXJzaW9uLCAnUmVsZWFzZSBhIG5ldyB2ZXJzaW9uJywgKHZlcnNpb25VcGRhdGVUeXBlOiBzdHJpbmcpID0+IHVwZGF0ZVZlcnNpb24odmVyc2lvblVwZGF0ZVR5cGUpKVxuICAgICAgLmFyZ3VtZW50KCdbdmVyc2lvblVwZGF0ZVR5cGVdJywgJ1ZlcnNpb24gdXBkYXRlIHR5cGU6IG1ham9yLCBtaW5vciwgcGF0Y2gsIGJldGEsIG9yIHgueS56Wy1zdWZmaXhdJyk7XG4gICAgYXdhaXQgcHJvZ3JhbS5wYXJzZUFzeW5jKGFyZ3YsIHsgZnJvbTogJ3VzZXInIH0pO1xuICAgIHJldHVybiBDbGlUYXNrUmVzdWx0LkRvTm90RXhpdCgpO1xuICB9KSk7XG59XG5cbi8qKlxuICogQWRkcyBhIGNvbW1hbmQgdG8gdGhlIENMSSBwcm9ncmFtIHdpdGggdGhlIHNwZWNpZmllZCBuYW1lLCBkZXNjcmlwdGlvbiwgYW5kIHRhc2sgZnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIHByb2dyYW0gLSBUaGUgYGNvbW1hbmRlcmAgcHJvZ3JhbSBpbnN0YW5jZSB0byB3aGljaCB0aGUgY29tbWFuZCBpcyBhZGRlZC5cbiAqIEBwYXJhbSBuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGNvbW1hbmQuXG4gKiBAcGFyYW0gZGVzY3JpcHRpb24gLSBBIGJyaWVmIGRlc2NyaXB0aW9uIG9mIHdoYXQgdGhlIGNvbW1hbmQgZG9lcy5cbiAqIEBwYXJhbSB0YXNrRm4gLSBUaGUgZnVuY3Rpb24gdG8gZXhlY3V0ZSB3aGVuIHRoZSBjb21tYW5kIGlzIGludm9rZWQuIENhbiByZXR1cm4gYSBgVGFza1Jlc3VsdGAgb3Igdm9pZC5cbiAqIEByZXR1cm5zIFRoZSBgY29tbWFuZGVyYCBjb21tYW5kIGluc3RhbmNlIGZvciBmdXJ0aGVyIGNoYWluaW5nLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LXR5cGUtcGFyYW1ldGVycywgQHR5cGVzY3JpcHQtZXNsaW50L25vLWludmFsaWQtdm9pZC10eXBlXG5mdW5jdGlvbiBhZGRDb21tYW5kPEFyZ3MgZXh0ZW5kcyB1bmtub3duW10+KHByb2dyYW06IENvbW1hbmQsIG5hbWU6IHN0cmluZywgZGVzY3JpcHRpb246IHN0cmluZywgdGFza0ZuOiAoLi4uYXJnczogQXJncykgPT4gTWF5YmVQcm9taXNlPENsaVRhc2tSZXN1bHQgfCB2b2lkPik6IENvbW1hbmQge1xuICByZXR1cm4gcHJvZ3JhbS5jb21tYW5kKG5hbWUpXG4gICAgLmRlc2NyaXB0aW9uKGRlc2NyaXB0aW9uKVxuICAgIC5hY3Rpb24oKC4uLmFyZ3M6IEFyZ3MpID0+IHdyYXBDbGlUYXNrKCgpID0+IHRhc2tGbiguLi5hcmdzKSkpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWVBLHVCQUF3QjtBQUl4QixtQkFBa0M7QUFDbEMsa0JBQTJCO0FBQzNCLG1CQUlPO0FBQ1Asc0JBR087QUFDUCxtQ0FHTztBQUNQLG9CQUFxQjtBQUNyQix5QkFBd0I7QUFDeEIsaUJBQWdDO0FBQ2hDLHdCQUF3QjtBQUN4Qix3QkFBMkI7QUFDM0IscUJBQThCO0FBdkM5QixJQUFJLG9CQUFvQixXQUFXLGlCQUFpQixNQUFNLE1BQUk7QUFBQyxNQUFHLE9BQU8sZUFBYSxVQUFTO0FBQUMsVUFBTSxNQUFJLFFBQVEsVUFBVTtBQUFFLFdBQU8sSUFBSSxjQUFjLFVBQVUsRUFBRTtBQUFBLEVBQUk7QUFBQyxNQUFHLE9BQU8sV0FBUyxhQUFZO0FBQUMsV0FBTyxPQUFPLFNBQVM7QUFBQSxFQUFJO0FBQUMsU0FBTTtBQUFFLEdBQUc7QUFDL08sSUFBSSxZQUFZLFdBQVcsU0FBUyxLQUFLO0FBQUEsRUFDdkMsV0FBVztBQUFBLEVBQ1gsT0FBTyxNQUFJO0FBQUEsRUFDWCxPQUFPLENBQUM7QUFBQSxFQUNSLFlBQVk7QUFDZDtBQXdDQSxNQUFNLDhCQUE4QjtBQXdCN0IsU0FBUyxJQUFJLE9BQWlCLDJCQUFRLEtBQUssTUFBTSwyQkFBMkIsR0FBUztBQUMxRixzQ0FBa0IsVUFBTSw2QkFBWSxZQUFZO0FBQzlDLFVBQU0sY0FBYyxVQUFNLGdDQUFnQix3QkFBVyxpQkFBZSxDQUFDO0FBQ3JFLFVBQU0sVUFBVSxJQUFJLHlCQUFRO0FBRTVCLFlBQ0csS0FBSyxZQUFZLFFBQVEsV0FBVyxFQUNwQyxZQUFZLCtDQUErQyxFQUMzRCxRQUFRLFlBQVksV0FBVyxXQUFXO0FBRTdDLGVBQVcsU0FBUyxxQkFBb0Isb0JBQW9CLFVBQU0sa0RBQW9CLEVBQUUsTUFBTSx1Q0FBVSxXQUFXLENBQUMsQ0FBQztBQUNySCxlQUFXLFNBQVMsZ0NBQXlCLHlCQUF5QixVQUFNLHlCQUFXLENBQUM7QUFDeEYsZUFBVyxTQUFTLGtDQUEwQiwrQkFBK0IsVUFBTSwwQkFBWSxDQUFDO0FBQ2hHLGVBQVcsU0FBUyxzQ0FBNEIseUNBQXlDLFVBQU0sNEJBQWMsQ0FBQztBQUM5RyxlQUFXLFNBQVMsaUJBQWtCLHdDQUF3QyxVQUFNLGtEQUFvQixFQUFFLE1BQU0sdUNBQVUsWUFBWSxDQUFDLENBQUM7QUFDeEksZUFBVyxTQUFTLG1CQUFtQix3QkFBd0IsVUFBTSxvQkFBSyxDQUFDO0FBQzNFLGVBQVcsU0FBUywwQkFBc0Isa0RBQWtELFVBQU0sb0JBQUssSUFBSSxDQUFDO0FBQzVHLGVBQVcsU0FBUyx5QkFBc0Isa0JBQWtCLENBQUMsZUFBb0IsMkJBQVEsTUFBTSxDQUFDLEVBQzdGLFNBQVMsWUFBWSxxQkFBcUI7QUFDN0MsZUFBVyxTQUFTLCtCQUF5Qiw4QkFBOEIsVUFBTSw4QkFBVyxDQUFDO0FBQzdGLGVBQVcsU0FBUyx5QkFBc0IseUJBQXlCLENBQUMsMEJBQThCLDhCQUFjLGlCQUFpQixDQUFDLEVBQy9ILFNBQVMsdUJBQXVCLG1FQUFtRTtBQUN0RyxVQUFNLFFBQVEsV0FBVyxNQUFNLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDL0MsV0FBTyw4QkFBYyxVQUFVO0FBQUEsRUFDakMsQ0FBQyxDQUFDO0FBQ0o7QUFZQSxTQUFTLFdBQW1DLFNBQWtCLE1BQWMsYUFBcUIsUUFBd0U7QUFDdkssU0FBTyxRQUFRLFFBQVEsSUFBSSxFQUN4QixZQUFZLFdBQVcsRUFDdkIsT0FBTyxJQUFJLGFBQWUsNkJBQVksTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDakU7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -40,12 +40,6 @@ var import_Npm = require('../Npm.cjs');
40
40
  var import_ObsidianDevUtilsRepoPaths = require('../ObsidianDevUtilsRepoPaths.cjs');
41
41
  var import_ObsidianPluginBuilder = require('./ObsidianPluginBuilder.cjs');
42
42
  var import_preprocessPlugin = require('./preprocessPlugin.cjs');
43
- var __process = globalThis["process"] ?? {
44
- "browser": true,
45
- "cwd": () => "/",
46
- "env": {},
47
- "platform": "android"
48
- };
49
43
  var __import_meta_url = globalThis["import.meta.url"] ?? (() => {
50
44
  if (typeof __filename === "string") {
51
45
  const url = require('node:url');
@@ -56,6 +50,12 @@ var __import_meta_url = globalThis["import.meta.url"] ?? (() => {
56
50
  }
57
51
  return "";
58
52
  })();
53
+ var __process = globalThis["process"] ?? {
54
+ "browser": true,
55
+ "cwd": () => "/",
56
+ "env": {},
57
+ "platform": "android"
58
+ };
59
59
  const esmRequire = (0, import_NodeModules.createRequire)(__import_meta_url);
60
60
  async function getDependenciesToBundle() {
61
61
  const dependenciesToSkip = await getDependenciesToSkip();
@@ -126,4 +126,4 @@ function extractDependenciesToBundlePlugin(dependenciesToSkip, dependenciesToBun
126
126
  getDependenciesToBundle,
127
127
  getDependenciesToSkip
128
128
  });
129
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdHMvZXNidWlsZC9EZXBlbmRlbmN5LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1sncHJvY2VzcyddID8/IHtcbiAgXCJicm93c2VyXCI6IHRydWUsXG4gIFwiY3dkXCI6ICgpPT5cIi9cIixcbiAgXCJlbnZcIjoge30sXG4gIFwicGxhdGZvcm1cIjogXCJhbmRyb2lkXCJcbn07XG52YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzWydpbXBvcnQubWV0YS51cmwnXSA/PyAoKCk9PntpZih0eXBlb2YgX19maWxlbmFtZT09PVwic3RyaW5nXCIpe2NvbnN0IHVybD1yZXF1aXJlKFwibm9kZTp1cmxcIik7cmV0dXJuIHVybC5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpLmhyZWZ9aWYodHlwZW9mIHdpbmRvdyE9PVwidW5kZWZpbmVkXCIpe3JldHVybiB3aW5kb3cubG9jYXRpb24uaHJlZn1yZXR1cm5cIlwifSkoKTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIERlcGVuZGVuY3lcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIHV0aWxpdGllcyBmb3IgbWFuYWdpbmcgZGVwZW5kZW5jaWVzIGR1cmluZyB0aGUgZXNidWlsZCBwcm9jZXNzLlxuICogSXQgaW5jbHVkZXMgZnVuY3Rpb25zIHRvIGRldGVybWluZSB3aGljaCBkZXBlbmRlbmNpZXMgc2hvdWxkIGJlIHNraXBwZWQgYW5kIHdoaWNoXG4gKiBzaG91bGQgYmUgYnVuZGxlZCwgYXMgd2VsbCBhcyBhbiBlc2J1aWxkIHBsdWdpbiBmb3IgZXh0cmFjdGluZyBkZXBlbmRlbmNpZXMgdG8gYnVuZGxlLlxuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgQnVpbGRPcHRpb25zLFxuICBQbHVnaW5cbn0gZnJvbSAnZXNidWlsZCc7XG5cbmltcG9ydCB7IGNvbnRleHQgfSBmcm9tICdlc2J1aWxkJztcblxuaW1wb3J0IHsgdGhyb3dFeHByZXNzaW9uIH0gZnJvbSAnLi4vLi4vRXJyb3IudHMnO1xuaW1wb3J0IHtcbiAgZ2V0RGlybmFtZSxcbiAgam9pblxufSBmcm9tICcuLi8uLi9QYXRoLnRzJztcbmltcG9ydCB7IHRyaW1TdGFydCB9IGZyb20gJy4uLy4uL1N0cmluZy50cyc7XG5pbXBvcnQge1xuICBidWlsdGluTW9kdWxlcyxcbiAgY3JlYXRlUmVxdWlyZVxufSBmcm9tICcuLi9Ob2RlTW9kdWxlcy50cyc7XG5pbXBvcnQgeyByZWFkUGFja2FnZUpzb24gfSBmcm9tICcuLi9OcG0udHMnO1xuaW1wb3J0IHsgT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocyB9IGZyb20gJy4uL09ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMudHMnO1xuaW1wb3J0IHtcbiAgYmFubmVyLFxuICBpbnZva2VFc2J1aWxkXG59IGZyb20gJy4vT2JzaWRpYW5QbHVnaW5CdWlsZGVyLnRzJztcbmltcG9ydCB7IHByZXByb2Nlc3NQbHVnaW4gfSBmcm9tICcuL3ByZXByb2Nlc3NQbHVnaW4udHMnO1xuXG5jb25zdCBlc21SZXF1aXJlID0gY3JlYXRlUmVxdWlyZShpbXBvcnQubWV0YS51cmwpO1xuXG5pbnRlcmZhY2UgTW9kdWxlV2l0aERlZmF1bHRFeHBvcnQge1xuICBkZWZhdWx0OiB1bmtub3duO1xufVxuXG4vKipcbiAqIERldGVybWluZXMgd2hpY2ggZGVwZW5kZW5jaWVzIHNob3VsZCBiZSBidW5kbGVkIGJ5IGVzYnVpbGQuXG4gKlxuICogQHJldHVybnMgQSBgUHJvbWlzZWAgdGhhdCByZXNvbHZlcyB0byBhbiBhcnJheSBvZiBkZXBlbmRlbmN5IG5hbWVzIHRvIGJ1bmRsZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldERlcGVuZGVuY2llc1RvQnVuZGxlKCk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgY29uc3QgZGVwZW5kZW5jaWVzVG9Ta2lwID0gYXdhaXQgZ2V0RGVwZW5kZW5jaWVzVG9Ta2lwKCk7XG4gIGNvbnN0IGRlcGVuZGVuY2llc1RvQnVuZGxlID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgY29uc3QgYnVpbGRPcHRpb25zOiBCdWlsZE9wdGlvbnMgPSB7XG4gICAgYmFubmVyOiB7XG4gICAgICBqczogYmFubmVyXG4gICAgfSxcbiAgICBidW5kbGU6IHRydWUsXG4gICAgZW50cnlQb2ludHM6IFtqb2luKE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMuU3JjLCBPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLkFueVBhdGgsIE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMuQW55VHMpXSxcbiAgICBmb3JtYXQ6ICdjanMnLFxuICAgIGxvZ0xldmVsOiAnaW5mbycsXG4gICAgb3V0ZGlyOiAnbm90aGluZy13aWxsLWJlLXdyaXR0ZW4tb24tZGlzay1zby10aGlzLWRvZXMtbm90LW1hdHRlcicsXG4gICAgcGxhdGZvcm06ICdub2RlJyxcbiAgICBwbHVnaW5zOiBbXG4gICAgICBwcmVwcm9jZXNzUGx1Z2luKCksXG4gICAgICBleHRyYWN0RGVwZW5kZW5jaWVzVG9CdW5kbGVQbHVnaW4oZGVwZW5kZW5jaWVzVG9Ta2lwLCBkZXBlbmRlbmNpZXNUb0J1bmRsZSlcbiAgICBdLFxuICAgIHNvdXJjZW1hcDogJ2lubGluZScsXG4gICAgdGFyZ2V0OiAnRVNOZXh0JyxcbiAgICB0cmVlU2hha2luZzogdHJ1ZSxcbiAgICB3cml0ZTogZmFsc2VcbiAgfTtcblxuICBjb25zdCBidWlsZENvbnRleHQgPSBhd2FpdCBjb250ZXh0KGJ1aWxkT3B0aW9ucyk7XG4gIGF3YWl0IGludm9rZUVzYnVpbGQoYnVpbGRDb250ZXh0LCB0cnVlKTtcbiAgcmV0dXJuIEFycmF5LmZyb20oZGVwZW5kZW5jaWVzVG9CdW5kbGUpLnNvcnQoKTtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGxpc3Qgb2YgZGVwZW5kZW5jaWVzIHRoYXQgc2hvdWxkIGJlIHNraXBwZWQgZHVyaW5nIHRoZSBidW5kbGluZyBwcm9jZXNzLlxuICpcbiAqIEByZXR1cm5zIEEgYFByb21pc2VgIHRoYXQgcmVzb2x2ZXMgdG8gYSBgU2V0YCBvZiBkZXBlbmRlbmN5IG5hbWVzIHRvIHNraXAuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXREZXBlbmRlbmNpZXNUb1NraXAoKTogUHJvbWlzZTxTZXQ8c3RyaW5nPj4ge1xuICBjb25zdCBwYWNrYWdlSnNvbiA9IGF3YWl0IHJlYWRQYWNrYWdlSnNvbihnZXREaXJuYW1lKGltcG9ydC5tZXRhLnVybCkpO1xuICBjb25zdCBkZXBlbmRlbmNpZXNUb1NraXAgPSBuZXcgU2V0PHN0cmluZz4oWy4uLmJ1aWx0aW5Nb2R1bGVzLCAuLi5PYmplY3Qua2V5cyhwYWNrYWdlSnNvbi5kZXBlbmRlbmNpZXMgPz8ge30pLmZpbHRlcihjYW5Ta2lwRnJvbUJ1bmRsaW5nKV0pO1xuICByZXR1cm4gZGVwZW5kZW5jaWVzVG9Ta2lwO1xufVxuXG4vKipcbiAqIERldGVybWluZXMgd2hldGhlciBhIG1vZHVsZSBjYW4gYmUgc2tpcHBlZCBmcm9tIGJ1bmRsaW5nLlxuICpcbiAqIEBwYXJhbSBtb2R1bGVOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIG1vZHVsZS5cbiAqIEByZXR1cm5zIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIG1vZHVsZSBjYW4gYmUgc2tpcHBlZCBmcm9tIGJ1bmRsaW5nLlxuICovXG5mdW5jdGlvbiBjYW5Ta2lwRnJvbUJ1bmRsaW5nKG1vZHVsZU5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBpZiAobW9kdWxlTmFtZS5zdGFydHNXaXRoKCdAdHlwZXMvJykpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmIChtb2R1bGVOYW1lLnN0YXJ0c1dpdGgoJ29ic2lkaWFuJykpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmIChtb2R1bGVOYW1lID09PSAnZXNidWlsZCcpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgY29uc3QgbW9kdWxlID0gZXNtUmVxdWlyZShtb2R1bGVOYW1lKSBhcyBNb2R1bGVXaXRoRGVmYXVsdEV4cG9ydDtcbiAgICByZXR1cm4gIW1vZHVsZS5kZWZhdWx0O1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLyoqXG4gKiBDcmVhdGVzIGFuIGVzYnVpbGQgcGx1Z2luIHRoYXQgaWRlbnRpZmllcyB3aGljaCBkZXBlbmRlbmNpZXMgc2hvdWxkIGJlIGJ1bmRsZWQuXG4gKlxuICogQHBhcmFtIGRlcGVuZGVuY2llc1RvU2tpcCAtIEEgc2V0IG9mIGRlcGVuZGVuY3kgbmFtZXMgdGhhdCBzaG91bGQgYmUgc2tpcHBlZCBkdXJpbmcgYnVuZGxpbmcuXG4gKiBAcGFyYW0gZGVwZW5kZW5jaWVzVG9CdW5kbGUgLSBBIHNldCB3aGVyZSB0aGUgbmFtZXMgb2YgZGVwZW5kZW5jaWVzIHRvIGJlIGJ1bmRsZWQgd2lsbCBiZSBhZGRlZC5cbiAqIEByZXR1cm5zIEFuIGVzYnVpbGQgYFBsdWdpbmAgb2JqZWN0IHRoYXQgZXh0cmFjdHMgZGVwZW5kZW5jaWVzIHRvIGJ1bmRsZS5cbiAqL1xuZnVuY3Rpb24gZXh0cmFjdERlcGVuZGVuY2llc1RvQnVuZGxlUGx1Z2luKGRlcGVuZGVuY2llc1RvU2tpcDogU2V0PHN0cmluZz4sIGRlcGVuZGVuY2llc1RvQnVuZGxlOiBTZXQ8c3RyaW5nPik6IFBsdWdpbiB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ3Rlc3QnLFxuICAgIHNldHVwKGJ1aWxkKTogdm9pZCB7XG4gICAgICBidWlsZC5vblJlc29sdmUoeyBmaWx0ZXI6IC9eW14uL10vIH0sIChhcmdzKSA9PiB7XG4gICAgICAgIGlmICghYXJncy5pbXBvcnRlci5lbmRzV2l0aCgnLmQudHMnKSkge1xuICAgICAgICAgIGNvbnN0IG1vZHVsZU5hbWUgPSB0cmltU3RhcnQoYXJncy5wYXRoLnNwbGl0KCcvJylbMF0gPz8gdGhyb3dFeHByZXNzaW9uKG5ldyBFcnJvcignV3JvbmcgcGF0aCcpKSwgJ25vZGU6Jyk7XG4gICAgICAgICAgaWYgKCFkZXBlbmRlbmNpZXNUb1NraXAuaGFzKGFyZ3MucGF0aCkgJiYgIWRlcGVuZGVuY2llc1RvU2tpcC5oYXMobW9kdWxlTmFtZSkpIHtcbiAgICAgICAgICAgIGRlcGVuZGVuY2llc1RvQnVuZGxlLmFkZChhcmdzLnBhdGgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBleHRlcm5hbDogdHJ1ZSwgcGF0aDogYXJncy5wYXRoIH07XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFtQkEscUJBQXdCO0FBRXhCLG1CQUFnQztBQUNoQyxrQkFHTztBQUNQLG9CQUEwQjtBQUMxQix5QkFHTztBQUNQLGlCQUFnQztBQUNoQyx1Q0FBMEM7QUFDMUMsbUNBR087QUFDUCw4QkFBaUM7QUFyQ2pDLElBQUksWUFBWSxXQUFXLFNBQVMsS0FBSztBQUFBLEVBQ3ZDLFdBQVc7QUFBQSxFQUNYLE9BQU8sTUFBSTtBQUFBLEVBQ1gsT0FBTyxDQUFDO0FBQUEsRUFDUixZQUFZO0FBQ2Q7QUFDQSxJQUFJLG9CQUFvQixXQUFXLGlCQUFpQixNQUFNLE1BQUk7QUFBQyxNQUFHLE9BQU8sZUFBYSxVQUFTO0FBQUMsVUFBTSxNQUFJLFFBQVEsVUFBVTtBQUFFLFdBQU8sSUFBSSxjQUFjLFVBQVUsRUFBRTtBQUFBLEVBQUk7QUFBQyxNQUFHLE9BQU8sV0FBUyxhQUFZO0FBQUMsV0FBTyxPQUFPLFNBQVM7QUFBQSxFQUFJO0FBQUMsU0FBTTtBQUFFLEdBQUc7QUFpQy9PLE1BQU0saUJBQWEsa0NBQWMsaUJBQWU7QUFXaEQsZUFBc0IsMEJBQTZDO0FBQ2pFLFFBQU0scUJBQXFCLE1BQU0sc0JBQXNCO0FBQ3ZELFFBQU0sdUJBQXVCLG9CQUFJLElBQVk7QUFFN0MsUUFBTSxlQUE2QjtBQUFBLElBQ2pDLFFBQVE7QUFBQSxNQUNOLElBQUk7QUFBQSxJQUNOO0FBQUEsSUFDQSxRQUFRO0FBQUEsSUFDUixhQUFhLEtBQUMsa0JBQUssMkRBQTBCLEtBQUssMkRBQTBCLFNBQVMsMkRBQTBCLEtBQUssQ0FBQztBQUFBLElBQ3JILFFBQVE7QUFBQSxJQUNSLFVBQVU7QUFBQSxJQUNWLFFBQVE7QUFBQSxJQUNSLFVBQVU7QUFBQSxJQUNWLFNBQVM7QUFBQSxVQUNQLDBDQUFpQjtBQUFBLE1BQ2pCLGtDQUFrQyxvQkFBb0Isb0JBQW9CO0FBQUEsSUFDNUU7QUFBQSxJQUNBLFdBQVc7QUFBQSxJQUNYLFFBQVE7QUFBQSxJQUNSLGFBQWE7QUFBQSxJQUNiLE9BQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxlQUFlLFVBQU0sd0JBQVEsWUFBWTtBQUMvQyxZQUFNLDRDQUFjLGNBQWMsSUFBSTtBQUN0QyxTQUFPLE1BQU0sS0FBSyxvQkFBb0IsRUFBRSxLQUFLO0FBQy9DO0FBT0EsZUFBc0Isd0JBQThDO0FBQ2xFLFFBQU0sY0FBYyxVQUFNLGdDQUFnQix3QkFBVyxpQkFBZSxDQUFDO0FBQ3JFLFFBQU0scUJBQXFCLG9CQUFJLElBQVksQ0FBQyxHQUFHLG1DQUFnQixHQUFHLE9BQU8sS0FBSyxZQUFZLGdCQUFnQixDQUFDLENBQUMsRUFBRSxPQUFPLG1CQUFtQixDQUFDLENBQUM7QUFDMUksU0FBTztBQUNUO0FBUUEsU0FBUyxvQkFBb0IsWUFBNkI7QUFDeEQsTUFBSSxXQUFXLFdBQVcsU0FBUyxHQUFHO0FBQ3BDLFdBQU87QUFBQSxFQUNUO0FBRUEsTUFBSSxXQUFXLFdBQVcsVUFBVSxHQUFHO0FBQ3JDLFdBQU87QUFBQSxFQUNUO0FBRUEsTUFBSSxlQUFlLFdBQVc7QUFDNUIsV0FBTztBQUFBLEVBQ1Q7QUFFQSxNQUFJO0FBQ0YsVUFBTUEsVUFBUyxXQUFXLFVBQVU7QUFDcEMsV0FBTyxDQUFDQSxRQUFPO0FBQUEsRUFDakIsUUFBUTtBQUNOLFdBQU87QUFBQSxFQUNUO0FBQ0Y7QUFTQSxTQUFTLGtDQUFrQyxvQkFBaUMsc0JBQTJDO0FBQ3JILFNBQU87QUFBQSxJQUNMLE1BQU07QUFBQSxJQUNOLE1BQU0sT0FBYTtBQUNqQixZQUFNLFVBQVUsRUFBRSxRQUFRLFNBQVMsR0FBRyxDQUFDLFNBQVM7QUFDOUMsWUFBSSxDQUFDLEtBQUssU0FBUyxTQUFTLE9BQU8sR0FBRztBQUNwQyxnQkFBTSxpQkFBYSx5QkFBVSxLQUFLLEtBQUssTUFBTSxHQUFHLEVBQUUsQ0FBQyxTQUFLLDhCQUFnQixJQUFJLE1BQU0sWUFBWSxDQUFDLEdBQUcsT0FBTztBQUN6RyxjQUFJLENBQUMsbUJBQW1CLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsSUFBSSxVQUFVLEdBQUc7QUFDN0UsaUNBQXFCLElBQUksS0FBSyxJQUFJO0FBQUEsVUFDcEM7QUFBQSxRQUNGO0FBQ0EsZUFBTyxFQUFFLFVBQVUsTUFBTSxNQUFNLEtBQUssS0FBSztBQUFBLE1BQzNDLENBQUM7QUFBQSxJQUNIO0FBQUEsRUFDRjtBQUNGOyIsCiAgIm5hbWVzIjogWyJtb2R1bGUiXQp9Cg==
129
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdHMvZXNidWlsZC9EZXBlbmRlbmN5LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzWydpbXBvcnQubWV0YS51cmwnXSA/PyAoKCk9PntpZih0eXBlb2YgX19maWxlbmFtZT09PVwic3RyaW5nXCIpe2NvbnN0IHVybD1yZXF1aXJlKFwibm9kZTp1cmxcIik7cmV0dXJuIHVybC5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpLmhyZWZ9aWYodHlwZW9mIHdpbmRvdyE9PVwidW5kZWZpbmVkXCIpe3JldHVybiB3aW5kb3cubG9jYXRpb24uaHJlZn1yZXR1cm5cIlwifSkoKTtcbnZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzWydwcm9jZXNzJ10gPz8ge1xuICBcImJyb3dzZXJcIjogdHJ1ZSxcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIERlcGVuZGVuY3lcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIHV0aWxpdGllcyBmb3IgbWFuYWdpbmcgZGVwZW5kZW5jaWVzIGR1cmluZyB0aGUgZXNidWlsZCBwcm9jZXNzLlxuICogSXQgaW5jbHVkZXMgZnVuY3Rpb25zIHRvIGRldGVybWluZSB3aGljaCBkZXBlbmRlbmNpZXMgc2hvdWxkIGJlIHNraXBwZWQgYW5kIHdoaWNoXG4gKiBzaG91bGQgYmUgYnVuZGxlZCwgYXMgd2VsbCBhcyBhbiBlc2J1aWxkIHBsdWdpbiBmb3IgZXh0cmFjdGluZyBkZXBlbmRlbmNpZXMgdG8gYnVuZGxlLlxuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgQnVpbGRPcHRpb25zLFxuICBQbHVnaW5cbn0gZnJvbSAnZXNidWlsZCc7XG5cbmltcG9ydCB7IGNvbnRleHQgfSBmcm9tICdlc2J1aWxkJztcblxuaW1wb3J0IHsgdGhyb3dFeHByZXNzaW9uIH0gZnJvbSAnLi4vLi4vRXJyb3IudHMnO1xuaW1wb3J0IHtcbiAgZ2V0RGlybmFtZSxcbiAgam9pblxufSBmcm9tICcuLi8uLi9QYXRoLnRzJztcbmltcG9ydCB7IHRyaW1TdGFydCB9IGZyb20gJy4uLy4uL1N0cmluZy50cyc7XG5pbXBvcnQge1xuICBidWlsdGluTW9kdWxlcyxcbiAgY3JlYXRlUmVxdWlyZVxufSBmcm9tICcuLi9Ob2RlTW9kdWxlcy50cyc7XG5pbXBvcnQgeyByZWFkUGFja2FnZUpzb24gfSBmcm9tICcuLi9OcG0udHMnO1xuaW1wb3J0IHsgT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocyB9IGZyb20gJy4uL09ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMudHMnO1xuaW1wb3J0IHtcbiAgYmFubmVyLFxuICBpbnZva2VFc2J1aWxkXG59IGZyb20gJy4vT2JzaWRpYW5QbHVnaW5CdWlsZGVyLnRzJztcbmltcG9ydCB7IHByZXByb2Nlc3NQbHVnaW4gfSBmcm9tICcuL3ByZXByb2Nlc3NQbHVnaW4udHMnO1xuXG5jb25zdCBlc21SZXF1aXJlID0gY3JlYXRlUmVxdWlyZShpbXBvcnQubWV0YS51cmwpO1xuXG5pbnRlcmZhY2UgTW9kdWxlV2l0aERlZmF1bHRFeHBvcnQge1xuICBkZWZhdWx0OiB1bmtub3duO1xufVxuXG4vKipcbiAqIERldGVybWluZXMgd2hpY2ggZGVwZW5kZW5jaWVzIHNob3VsZCBiZSBidW5kbGVkIGJ5IGVzYnVpbGQuXG4gKlxuICogQHJldHVybnMgQSBgUHJvbWlzZWAgdGhhdCByZXNvbHZlcyB0byBhbiBhcnJheSBvZiBkZXBlbmRlbmN5IG5hbWVzIHRvIGJ1bmRsZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldERlcGVuZGVuY2llc1RvQnVuZGxlKCk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgY29uc3QgZGVwZW5kZW5jaWVzVG9Ta2lwID0gYXdhaXQgZ2V0RGVwZW5kZW5jaWVzVG9Ta2lwKCk7XG4gIGNvbnN0IGRlcGVuZGVuY2llc1RvQnVuZGxlID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgY29uc3QgYnVpbGRPcHRpb25zOiBCdWlsZE9wdGlvbnMgPSB7XG4gICAgYmFubmVyOiB7XG4gICAgICBqczogYmFubmVyXG4gICAgfSxcbiAgICBidW5kbGU6IHRydWUsXG4gICAgZW50cnlQb2ludHM6IFtqb2luKE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMuU3JjLCBPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLkFueVBhdGgsIE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMuQW55VHMpXSxcbiAgICBmb3JtYXQ6ICdjanMnLFxuICAgIGxvZ0xldmVsOiAnaW5mbycsXG4gICAgb3V0ZGlyOiAnbm90aGluZy13aWxsLWJlLXdyaXR0ZW4tb24tZGlzay1zby10aGlzLWRvZXMtbm90LW1hdHRlcicsXG4gICAgcGxhdGZvcm06ICdub2RlJyxcbiAgICBwbHVnaW5zOiBbXG4gICAgICBwcmVwcm9jZXNzUGx1Z2luKCksXG4gICAgICBleHRyYWN0RGVwZW5kZW5jaWVzVG9CdW5kbGVQbHVnaW4oZGVwZW5kZW5jaWVzVG9Ta2lwLCBkZXBlbmRlbmNpZXNUb0J1bmRsZSlcbiAgICBdLFxuICAgIHNvdXJjZW1hcDogJ2lubGluZScsXG4gICAgdGFyZ2V0OiAnRVNOZXh0JyxcbiAgICB0cmVlU2hha2luZzogdHJ1ZSxcbiAgICB3cml0ZTogZmFsc2VcbiAgfTtcblxuICBjb25zdCBidWlsZENvbnRleHQgPSBhd2FpdCBjb250ZXh0KGJ1aWxkT3B0aW9ucyk7XG4gIGF3YWl0IGludm9rZUVzYnVpbGQoYnVpbGRDb250ZXh0LCB0cnVlKTtcbiAgcmV0dXJuIEFycmF5LmZyb20oZGVwZW5kZW5jaWVzVG9CdW5kbGUpLnNvcnQoKTtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGxpc3Qgb2YgZGVwZW5kZW5jaWVzIHRoYXQgc2hvdWxkIGJlIHNraXBwZWQgZHVyaW5nIHRoZSBidW5kbGluZyBwcm9jZXNzLlxuICpcbiAqIEByZXR1cm5zIEEgYFByb21pc2VgIHRoYXQgcmVzb2x2ZXMgdG8gYSBgU2V0YCBvZiBkZXBlbmRlbmN5IG5hbWVzIHRvIHNraXAuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXREZXBlbmRlbmNpZXNUb1NraXAoKTogUHJvbWlzZTxTZXQ8c3RyaW5nPj4ge1xuICBjb25zdCBwYWNrYWdlSnNvbiA9IGF3YWl0IHJlYWRQYWNrYWdlSnNvbihnZXREaXJuYW1lKGltcG9ydC5tZXRhLnVybCkpO1xuICBjb25zdCBkZXBlbmRlbmNpZXNUb1NraXAgPSBuZXcgU2V0PHN0cmluZz4oWy4uLmJ1aWx0aW5Nb2R1bGVzLCAuLi5PYmplY3Qua2V5cyhwYWNrYWdlSnNvbi5kZXBlbmRlbmNpZXMgPz8ge30pLmZpbHRlcihjYW5Ta2lwRnJvbUJ1bmRsaW5nKV0pO1xuICByZXR1cm4gZGVwZW5kZW5jaWVzVG9Ta2lwO1xufVxuXG4vKipcbiAqIERldGVybWluZXMgd2hldGhlciBhIG1vZHVsZSBjYW4gYmUgc2tpcHBlZCBmcm9tIGJ1bmRsaW5nLlxuICpcbiAqIEBwYXJhbSBtb2R1bGVOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIG1vZHVsZS5cbiAqIEByZXR1cm5zIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIG1vZHVsZSBjYW4gYmUgc2tpcHBlZCBmcm9tIGJ1bmRsaW5nLlxuICovXG5mdW5jdGlvbiBjYW5Ta2lwRnJvbUJ1bmRsaW5nKG1vZHVsZU5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBpZiAobW9kdWxlTmFtZS5zdGFydHNXaXRoKCdAdHlwZXMvJykpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmIChtb2R1bGVOYW1lLnN0YXJ0c1dpdGgoJ29ic2lkaWFuJykpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmIChtb2R1bGVOYW1lID09PSAnZXNidWlsZCcpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgY29uc3QgbW9kdWxlID0gZXNtUmVxdWlyZShtb2R1bGVOYW1lKSBhcyBNb2R1bGVXaXRoRGVmYXVsdEV4cG9ydDtcbiAgICByZXR1cm4gIW1vZHVsZS5kZWZhdWx0O1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLyoqXG4gKiBDcmVhdGVzIGFuIGVzYnVpbGQgcGx1Z2luIHRoYXQgaWRlbnRpZmllcyB3aGljaCBkZXBlbmRlbmNpZXMgc2hvdWxkIGJlIGJ1bmRsZWQuXG4gKlxuICogQHBhcmFtIGRlcGVuZGVuY2llc1RvU2tpcCAtIEEgc2V0IG9mIGRlcGVuZGVuY3kgbmFtZXMgdGhhdCBzaG91bGQgYmUgc2tpcHBlZCBkdXJpbmcgYnVuZGxpbmcuXG4gKiBAcGFyYW0gZGVwZW5kZW5jaWVzVG9CdW5kbGUgLSBBIHNldCB3aGVyZSB0aGUgbmFtZXMgb2YgZGVwZW5kZW5jaWVzIHRvIGJlIGJ1bmRsZWQgd2lsbCBiZSBhZGRlZC5cbiAqIEByZXR1cm5zIEFuIGVzYnVpbGQgYFBsdWdpbmAgb2JqZWN0IHRoYXQgZXh0cmFjdHMgZGVwZW5kZW5jaWVzIHRvIGJ1bmRsZS5cbiAqL1xuZnVuY3Rpb24gZXh0cmFjdERlcGVuZGVuY2llc1RvQnVuZGxlUGx1Z2luKGRlcGVuZGVuY2llc1RvU2tpcDogU2V0PHN0cmluZz4sIGRlcGVuZGVuY2llc1RvQnVuZGxlOiBTZXQ8c3RyaW5nPik6IFBsdWdpbiB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ3Rlc3QnLFxuICAgIHNldHVwKGJ1aWxkKTogdm9pZCB7XG4gICAgICBidWlsZC5vblJlc29sdmUoeyBmaWx0ZXI6IC9eW14uL10vIH0sIChhcmdzKSA9PiB7XG4gICAgICAgIGlmICghYXJncy5pbXBvcnRlci5lbmRzV2l0aCgnLmQudHMnKSkge1xuICAgICAgICAgIGNvbnN0IG1vZHVsZU5hbWUgPSB0cmltU3RhcnQoYXJncy5wYXRoLnNwbGl0KCcvJylbMF0gPz8gdGhyb3dFeHByZXNzaW9uKG5ldyBFcnJvcignV3JvbmcgcGF0aCcpKSwgJ25vZGU6Jyk7XG4gICAgICAgICAgaWYgKCFkZXBlbmRlbmNpZXNUb1NraXAuaGFzKGFyZ3MucGF0aCkgJiYgIWRlcGVuZGVuY2llc1RvU2tpcC5oYXMobW9kdWxlTmFtZSkpIHtcbiAgICAgICAgICAgIGRlcGVuZGVuY2llc1RvQnVuZGxlLmFkZChhcmdzLnBhdGgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBleHRlcm5hbDogdHJ1ZSwgcGF0aDogYXJncy5wYXRoIH07XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFtQkEscUJBQXdCO0FBRXhCLG1CQUFnQztBQUNoQyxrQkFHTztBQUNQLG9CQUEwQjtBQUMxQix5QkFHTztBQUNQLGlCQUFnQztBQUNoQyx1Q0FBMEM7QUFDMUMsbUNBR087QUFDUCw4QkFBaUM7QUFyQ2pDLElBQUksb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0sTUFBSTtBQUFDLE1BQUcsT0FBTyxlQUFhLFVBQVM7QUFBQyxVQUFNLE1BQUksUUFBUSxVQUFVO0FBQUUsV0FBTyxJQUFJLGNBQWMsVUFBVSxFQUFFO0FBQUEsRUFBSTtBQUFDLE1BQUcsT0FBTyxXQUFTLGFBQVk7QUFBQyxXQUFPLE9BQU8sU0FBUztBQUFBLEVBQUk7QUFBQyxTQUFNO0FBQUUsR0FBRztBQUMvTyxJQUFJLFlBQVksV0FBVyxTQUFTLEtBQUs7QUFBQSxFQUN2QyxXQUFXO0FBQUEsRUFDWCxPQUFPLE1BQUk7QUFBQSxFQUNYLE9BQU8sQ0FBQztBQUFBLEVBQ1IsWUFBWTtBQUNkO0FBaUNBLE1BQU0saUJBQWEsa0NBQWMsaUJBQWU7QUFXaEQsZUFBc0IsMEJBQTZDO0FBQ2pFLFFBQU0scUJBQXFCLE1BQU0sc0JBQXNCO0FBQ3ZELFFBQU0sdUJBQXVCLG9CQUFJLElBQVk7QUFFN0MsUUFBTSxlQUE2QjtBQUFBLElBQ2pDLFFBQVE7QUFBQSxNQUNOLElBQUk7QUFBQSxJQUNOO0FBQUEsSUFDQSxRQUFRO0FBQUEsSUFDUixhQUFhLEtBQUMsa0JBQUssMkRBQTBCLEtBQUssMkRBQTBCLFNBQVMsMkRBQTBCLEtBQUssQ0FBQztBQUFBLElBQ3JILFFBQVE7QUFBQSxJQUNSLFVBQVU7QUFBQSxJQUNWLFFBQVE7QUFBQSxJQUNSLFVBQVU7QUFBQSxJQUNWLFNBQVM7QUFBQSxVQUNQLDBDQUFpQjtBQUFBLE1BQ2pCLGtDQUFrQyxvQkFBb0Isb0JBQW9CO0FBQUEsSUFDNUU7QUFBQSxJQUNBLFdBQVc7QUFBQSxJQUNYLFFBQVE7QUFBQSxJQUNSLGFBQWE7QUFBQSxJQUNiLE9BQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxlQUFlLFVBQU0sd0JBQVEsWUFBWTtBQUMvQyxZQUFNLDRDQUFjLGNBQWMsSUFBSTtBQUN0QyxTQUFPLE1BQU0sS0FBSyxvQkFBb0IsRUFBRSxLQUFLO0FBQy9DO0FBT0EsZUFBc0Isd0JBQThDO0FBQ2xFLFFBQU0sY0FBYyxVQUFNLGdDQUFnQix3QkFBVyxpQkFBZSxDQUFDO0FBQ3JFLFFBQU0scUJBQXFCLG9CQUFJLElBQVksQ0FBQyxHQUFHLG1DQUFnQixHQUFHLE9BQU8sS0FBSyxZQUFZLGdCQUFnQixDQUFDLENBQUMsRUFBRSxPQUFPLG1CQUFtQixDQUFDLENBQUM7QUFDMUksU0FBTztBQUNUO0FBUUEsU0FBUyxvQkFBb0IsWUFBNkI7QUFDeEQsTUFBSSxXQUFXLFdBQVcsU0FBUyxHQUFHO0FBQ3BDLFdBQU87QUFBQSxFQUNUO0FBRUEsTUFBSSxXQUFXLFdBQVcsVUFBVSxHQUFHO0FBQ3JDLFdBQU87QUFBQSxFQUNUO0FBRUEsTUFBSSxlQUFlLFdBQVc7QUFDNUIsV0FBTztBQUFBLEVBQ1Q7QUFFQSxNQUFJO0FBQ0YsVUFBTUEsVUFBUyxXQUFXLFVBQVU7QUFDcEMsV0FBTyxDQUFDQSxRQUFPO0FBQUEsRUFDakIsUUFBUTtBQUNOLFdBQU87QUFBQSxFQUNUO0FBQ0Y7QUFTQSxTQUFTLGtDQUFrQyxvQkFBaUMsc0JBQTJDO0FBQ3JILFNBQU87QUFBQSxJQUNMLE1BQU07QUFBQSxJQUNOLE1BQU0sT0FBYTtBQUNqQixZQUFNLFVBQVUsRUFBRSxRQUFRLFNBQVMsR0FBRyxDQUFDLFNBQVM7QUFDOUMsWUFBSSxDQUFDLEtBQUssU0FBUyxTQUFTLE9BQU8sR0FBRztBQUNwQyxnQkFBTSxpQkFBYSx5QkFBVSxLQUFLLEtBQUssTUFBTSxHQUFHLEVBQUUsQ0FBQyxTQUFLLDhCQUFnQixJQUFJLE1BQU0sWUFBWSxDQUFDLEdBQUcsT0FBTztBQUN6RyxjQUFJLENBQUMsbUJBQW1CLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsSUFBSSxVQUFVLEdBQUc7QUFDN0UsaUNBQXFCLElBQUksS0FBSyxJQUFJO0FBQUEsVUFDcEM7QUFBQSxRQUNGO0FBQ0EsZUFBTyxFQUFFLFVBQVUsTUFBTSxNQUFNLEtBQUssS0FBSztBQUFBLE1BQzNDLENBQUM7QUFBQSxJQUNIO0FBQUEsRUFDRjtBQUNGOyIsCiAgIm5hbWVzIjogWyJtb2R1bGUiXQp9Cg==
@@ -30,13 +30,14 @@ __export(fixEsmPlugin_exports, {
30
30
  fixEsmPlugin: () => fixEsmPlugin
31
31
  });
32
32
  module.exports = __toCommonJS(fixEsmPlugin_exports);
33
+ var import_String = require('../../String.cjs');
33
34
  function fixEsmPlugin() {
34
35
  return {
35
36
  name: "fix-esm",
36
37
  setup(build) {
37
38
  build.onEnd((result) => {
38
39
  for (const file of result.outputFiles ?? []) {
39
- const newText = file.text.replaceAll(/(__toESM\d*)\((.+), 1\);/g, "$1(__extractDefault($2), 1);");
40
+ const newText = (0, import_String.replaceAll)(file.text, /(__toESM\d*)\((.+), 1\);/g, "$1(__extractDefault($2), 1);");
40
41
  file.contents = new TextEncoder().encode(newText);
41
42
  }
42
43
  });
@@ -47,4 +48,4 @@ function fixEsmPlugin() {
47
48
  0 && (module.exports = {
48
49
  fixEsmPlugin
49
50
  });
50
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdHMvZXNidWlsZC9maXhFc21QbHVnaW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIGZpeEVzbVBsdWdpblxuICogVGhpcyBtb2R1bGUgZGVmaW5lcyBhIGN1c3RvbSBlc2J1aWxkIHBsdWdpbiB0aGF0IGZpeGVzIHRoZSBgcmVxdWlyZWAgc3RhdGVtZW50IGZvciBFU00gbW9kdWxlcy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpbiB9IGZyb20gJ2VzYnVpbGQnO1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gZXNidWlsZCBwbHVnaW4gdGhhdCBmaXhlcyB0aGUgYHJlcXVpcmVgIHN0YXRlbWVudCBmb3IgRVNNIG1vZHVsZXMuXG4gKlxuICogQHJldHVybnMgQW4gZXNidWlsZCBgUGx1Z2luYCBvYmplY3QgdGhhdCBmaXhlcyB0aGUgYHJlcXVpcmVgIHN0YXRlbWVudCBmb3IgRVNNIG1vZHVsZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaXhFc21QbHVnaW4oKTogUGx1Z2luIHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnZml4LWVzbScsXG4gICAgc2V0dXAoYnVpbGQpOiB2b2lkIHtcbiAgICAgIGJ1aWxkLm9uRW5kKChyZXN1bHQpID0+IHtcbiAgICAgICAgZm9yIChjb25zdCBmaWxlIG9mIHJlc3VsdC5vdXRwdXRGaWxlcyA/PyBbXSkge1xuICAgICAgICAgIGNvbnN0IG5ld1RleHQgPSBmaWxlLnRleHQucmVwbGFjZUFsbCgvKF9fdG9FU01cXGQqKVxcKCguKyksIDFcXCk7L2csICckMShfX2V4dHJhY3REZWZhdWx0KCQyKSwgMSk7Jyk7XG4gICAgICAgICAgZmlsZS5jb250ZW50cyA9IG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShuZXdUZXh0KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVlPLFNBQVMsZUFBdUI7QUFDckMsU0FBTztBQUFBLElBQ0wsTUFBTTtBQUFBLElBQ04sTUFBTSxPQUFhO0FBQ2pCLFlBQU0sTUFBTSxDQUFDLFdBQVc7QUFDdEIsbUJBQVcsUUFBUSxPQUFPLGVBQWUsQ0FBQyxHQUFHO0FBQzNDLGdCQUFNLFVBQVUsS0FBSyxLQUFLLFdBQVcsNkJBQTZCLDhCQUE4QjtBQUNoRyxlQUFLLFdBQVcsSUFBSSxZQUFZLEVBQUUsT0FBTyxPQUFPO0FBQUEsUUFDbEQ7QUFBQSxNQUNGLENBQUM7QUFBQSxJQUNIO0FBQUEsRUFDRjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
51
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdHMvZXNidWlsZC9maXhFc21QbHVnaW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIGZpeEVzbVBsdWdpblxuICogVGhpcyBtb2R1bGUgZGVmaW5lcyBhIGN1c3RvbSBlc2J1aWxkIHBsdWdpbiB0aGF0IGZpeGVzIHRoZSBgcmVxdWlyZWAgc3RhdGVtZW50IGZvciBFU00gbW9kdWxlcy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpbiB9IGZyb20gJ2VzYnVpbGQnO1xuXG5pbXBvcnQgeyByZXBsYWNlQWxsIH0gZnJvbSAnLi4vLi4vU3RyaW5nLnRzJztcblxuLyoqXG4gKiBDcmVhdGVzIGFuIGVzYnVpbGQgcGx1Z2luIHRoYXQgZml4ZXMgdGhlIGByZXF1aXJlYCBzdGF0ZW1lbnQgZm9yIEVTTSBtb2R1bGVzLlxuICpcbiAqIEByZXR1cm5zIEFuIGVzYnVpbGQgYFBsdWdpbmAgb2JqZWN0IHRoYXQgZml4ZXMgdGhlIGByZXF1aXJlYCBzdGF0ZW1lbnQgZm9yIEVTTSBtb2R1bGVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZml4RXNtUGx1Z2luKCk6IFBsdWdpbiB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ2ZpeC1lc20nLFxuICAgIHNldHVwKGJ1aWxkKTogdm9pZCB7XG4gICAgICBidWlsZC5vbkVuZCgocmVzdWx0KSA9PiB7XG4gICAgICAgIGZvciAoY29uc3QgZmlsZSBvZiByZXN1bHQub3V0cHV0RmlsZXMgPz8gW10pIHtcbiAgICAgICAgICBjb25zdCBuZXdUZXh0ID0gcmVwbGFjZUFsbChmaWxlLnRleHQsIC8oX190b0VTTVxcZCopXFwoKC4rKSwgMVxcKTsvZywgJyQxKF9fZXh0cmFjdERlZmF1bHQoJDIpLCAxKTsnKTtcbiAgICAgICAgICBmaWxlLmNvbnRlbnRzID0gbmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKG5ld1RleHQpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBT0Esb0JBQTJCO0FBT3BCLFNBQVMsZUFBdUI7QUFDckMsU0FBTztBQUFBLElBQ0wsTUFBTTtBQUFBLElBQ04sTUFBTSxPQUFhO0FBQ2pCLFlBQU0sTUFBTSxDQUFDLFdBQVc7QUFDdEIsbUJBQVcsUUFBUSxPQUFPLGVBQWUsQ0FBQyxHQUFHO0FBQzNDLGdCQUFNLGNBQVUsMEJBQVcsS0FBSyxNQUFNLDZCQUE2Qiw4QkFBOEI7QUFDakcsZUFBSyxXQUFXLElBQUksWUFBWSxFQUFFLE9BQU8sT0FBTztBQUFBLFFBQ2xEO0FBQUEsTUFDRixDQUFDO0FBQUEsSUFDSDtBQUFBLEVBQ0Y7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -31,6 +31,7 @@ __export(fixSourceMapsPlugin_exports, {
31
31
  });
32
32
  module.exports = __toCommonJS(fixSourceMapsPlugin_exports);
33
33
  var import_Path = require('../../Path.cjs');
34
+ var import_String = require('../../String.cjs');
34
35
  var import_NodeModules = require('../NodeModules.cjs');
35
36
  function fixSourceMapsPlugin(isProductionBuild, distPath, pluginName) {
36
37
  return {
@@ -41,7 +42,8 @@ function fixSourceMapsPlugin(isProductionBuild, distPath, pluginName) {
41
42
  return;
42
43
  }
43
44
  const content = await (0, import_NodeModules.readFile)(distPath, "utf-8");
44
- const newContent = content.replaceAll(
45
+ const newContent = (0, import_String.replaceAll)(
46
+ content,
45
47
  /(\n\/\/# sourceMappingURL=data:application\/json;base64,)(.+)\n(.|\n)*/g,
46
48
  (_, prefix, sourceMapBase64) => prefix + fixSourceMap(sourceMapBase64, pluginName) + "\n/* nosourcemap */"
47
49
  );
@@ -53,17 +55,17 @@ function fixSourceMapsPlugin(isProductionBuild, distPath, pluginName) {
53
55
  };
54
56
  }
55
57
  function convertPathToObsidianUrl(path, pluginName) {
56
- const convertedPath = (0, import_Path.toPosixPath)(path).replace(/^(\.\.\/)+/, "");
58
+ const convertedPath = (0, import_String.replaceAll)((0, import_Path.toPosixPath)(path), /^(\.\.\/)+/, "");
57
59
  return `app://obsidian.md/plugin:${pluginName}/${convertedPath}`;
58
60
  }
59
61
  function fixSourceMap(sourceMapBase64, pluginName) {
60
62
  const sourceMapJson = Buffer.from(sourceMapBase64, "base64").toString("utf-8");
61
63
  const sourceMap = JSON.parse(sourceMapJson);
62
- sourceMap.sources = sourceMap.sources.map((path) => convertPathToObsidianUrl(path, pluginName));
64
+ sourceMap.sources = (sourceMap.sources ?? []).map((path) => convertPathToObsidianUrl(path, pluginName));
63
65
  return Buffer.from(JSON.stringify(sourceMap)).toString("base64");
64
66
  }
65
67
  // Annotate the CommonJS export names for ESM import in node:
66
68
  0 && (module.exports = {
67
69
  fixSourceMapsPlugin
68
70
  });
69
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdHMvZXNidWlsZC9maXhTb3VyY2VNYXBzUGx1Z2luLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBmaXhTb3VyY2VNYXBzUGx1Z2luXG4gKiBUaGlzIG1vZHVsZSBkZWZpbmVzIGFuIGVzYnVpbGQgcGx1Z2luIHRoYXQgZml4ZXMgc291cmNlIG1hcHMgZ2VuZXJhdGVkIGR1cmluZyBkZXZlbG9wbWVudC5cbiAqIEl0IGFkanVzdHMgdGhlIHBhdGhzIGluIHRoZSBzb3VyY2UgbWFwcyB0byBiZSBjb21wYXRpYmxlIHdpdGggT2JzaWRpYW4ncyBpbnRlcm5hbCBVUkwgc2NoZW1lLlxuICogVGhlIHBsdWdpbiBpcyBvbmx5IGFjdGl2ZSBkdXJpbmcgZGV2ZWxvcG1lbnQgYnVpbGRzLlxuICovXG5cbmltcG9ydCB0eXBlIHsgUGx1Z2luIH0gZnJvbSAnZXNidWlsZCc7XG5cbmltcG9ydCB7IHRvUG9zaXhQYXRoIH0gZnJvbSAnLi4vLi4vUGF0aC50cyc7XG5pbXBvcnQge1xuICByZWFkRmlsZSxcbiAgd3JpdGVGaWxlXG59IGZyb20gJy4uL05vZGVNb2R1bGVzLnRzJztcblxuaW50ZXJmYWNlIFNvdXJjZU1hcCB7XG4gIHNvdXJjZXM6IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYW4gZXNidWlsZCBwbHVnaW4gdGhhdCBmaXhlcyBzb3VyY2UgbWFwcyBieSBhZGp1c3RpbmcgdGhlIHBhdGhzIHRvIGJlIGNvbXBhdGlibGVcbiAqIHdpdGggT2JzaWRpYW4ncyBpbnRlcm5hbCBVUkwgc2NoZW1lLlxuICpcbiAqIEBwYXJhbSBpc1Byb2R1Y3Rpb25CdWlsZCAtIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGJ1aWxkIGlzIGEgcHJvZHVjdGlvbiBidWlsZC4gVGhlIHBsdWdpbiBvbmx5IHJ1bnMgaW4gbm9uLXByb2R1Y3Rpb24gYnVpbGRzLlxuICogQHBhcmFtIGRpc3RQYXRoIC0gVGhlIHBhdGggdG8gdGhlIG91dHB1dCBmaWxlIGNvbnRhaW5pbmcgdGhlIHNvdXJjZSBtYXAuXG4gKiBAcGFyYW0gcGx1Z2luTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBPYnNpZGlhbiBwbHVnaW4sIHVzZWQgdG8gY29uc3RydWN0IHRoZSBPYnNpZGlhbi1zcGVjaWZpYyBVUkxzLlxuICogQHJldHVybnMgQW4gZXNidWlsZCBgUGx1Z2luYCBvYmplY3QgdGhhdCBmaXhlcyBzb3VyY2UgbWFwcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpeFNvdXJjZU1hcHNQbHVnaW4oaXNQcm9kdWN0aW9uQnVpbGQ6IGJvb2xlYW4sIGRpc3RQYXRoOiBzdHJpbmcsIHBsdWdpbk5hbWU6IHN0cmluZyk6IFBsdWdpbiB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ2ZpeC1zb3VyY2UtbWFwcycsXG4gICAgc2V0dXAoYnVpbGQpOiB2b2lkIHtcbiAgICAgIGJ1aWxkLm9uRW5kKGFzeW5jICgpID0+IHtcbiAgICAgICAgaWYgKGlzUHJvZHVjdGlvbkJ1aWxkKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY29udGVudCA9IGF3YWl0IHJlYWRGaWxlKGRpc3RQYXRoLCAndXRmLTgnKTtcbiAgICAgICAgY29uc3QgbmV3Q29udGVudCA9IGNvbnRlbnQucmVwbGFjZUFsbChcbiAgICAgICAgICAvKFxcblxcL1xcLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uXFwvanNvbjtiYXNlNjQsKSguKylcXG4oLnxcXG4pKi9nLFxuICAgICAgICAgIChfOiBzdHJpbmcsIHByZWZpeDogc3RyaW5nLCBzb3VyY2VNYXBCYXNlNjQ6IHN0cmluZyk6IHN0cmluZyA9PiBwcmVmaXggKyBmaXhTb3VyY2VNYXAoc291cmNlTWFwQmFzZTY0LCBwbHVnaW5OYW1lKSArICdcXG4vKiBub3NvdXJjZW1hcCAqLydcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoY29udGVudCAhPT0gbmV3Q29udGVudCkge1xuICAgICAgICAgIGF3YWl0IHdyaXRlRmlsZShkaXN0UGF0aCwgbmV3Q29udGVudCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIGdpdmVuIGZpbGUgcGF0aCB0byBhbiBPYnNpZGlhbi1zcGVjaWZpYyBVUkwuXG4gKlxuICogQHBhcmFtIHBhdGggLSBUaGUgb3JpZ2luYWwgZmlsZSBwYXRoLlxuICogQHBhcmFtIHBsdWdpbk5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgT2JzaWRpYW4gcGx1Z2luLlxuICogQHJldHVybnMgVGhlIGNvbnZlcnRlZCBwYXRoIGFzIGFuIE9ic2lkaWFuLXNwZWNpZmljIFVSTC5cbiAqL1xuZnVuY3Rpb24gY29udmVydFBhdGhUb09ic2lkaWFuVXJsKHBhdGg6IHN0cmluZywgcGx1Z2luTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgY29udmVydGVkUGF0aCA9IHRvUG9zaXhQYXRoKHBhdGgpLnJlcGxhY2UoL14oXFwuXFwuXFwvKSsvLCAnJyk7XG4gIHJldHVybiBgYXBwOi8vb2JzaWRpYW4ubWQvcGx1Z2luOiR7cGx1Z2luTmFtZX0vJHtjb252ZXJ0ZWRQYXRofWA7XG59XG5cbi8qKlxuICogQWRqdXN0cyB0aGUgcGF0aHMgaW4gdGhlIGJhc2U2NC1lbmNvZGVkIHNvdXJjZSBtYXAgdG8gYmUgY29tcGF0aWJsZSB3aXRoIE9ic2lkaWFuJ3MgVVJMIHNjaGVtZS5cbiAqXG4gKiBAcGFyYW0gc291cmNlTWFwQmFzZTY0IC0gVGhlIGJhc2U2NC1lbmNvZGVkIHNvdXJjZSBtYXAgY29udGVudC5cbiAqIEBwYXJhbSBwbHVnaW5OYW1lIC0gVGhlIG5hbWUgb2YgdGhlIE9ic2lkaWFuIHBsdWdpbiwgdXNlZCB0byBjb25zdHJ1Y3QgdGhlIE9ic2lkaWFuLXNwZWNpZmljIFVSTHMuXG4gKiBAcmV0dXJucyBBIGJhc2U2NC1lbmNvZGVkIHN0cmluZyB3aXRoIHRoZSBhZGp1c3RlZCBzb3VyY2UgbWFwLlxuICovXG5mdW5jdGlvbiBmaXhTb3VyY2VNYXAoc291cmNlTWFwQmFzZTY0OiBzdHJpbmcsIHBsdWdpbk5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IHNvdXJjZU1hcEpzb24gPSBCdWZmZXIuZnJvbShzb3VyY2VNYXBCYXNlNjQsICdiYXNlNjQnKS50b1N0cmluZygndXRmLTgnKTtcbiAgY29uc3Qgc291cmNlTWFwID0gSlNPTi5wYXJzZShzb3VyY2VNYXBKc29uKSBhcyBTb3VyY2VNYXA7XG4gIHNvdXJjZU1hcC5zb3VyY2VzID0gc291cmNlTWFwLnNvdXJjZXMubWFwKChwYXRoKSA9PiBjb252ZXJ0UGF0aFRvT2JzaWRpYW5VcmwocGF0aCwgcGx1Z2luTmFtZSkpO1xuICByZXR1cm4gQnVmZmVyLmZyb20oSlNPTi5zdHJpbmdpZnkoc291cmNlTWFwKSkudG9TdHJpbmcoJ2Jhc2U2NCcpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVNBLGtCQUE0QjtBQUM1Qix5QkFHTztBQWVBLFNBQVMsb0JBQW9CLG1CQUE0QixVQUFrQixZQUE0QjtBQUM1RyxTQUFPO0FBQUEsSUFDTCxNQUFNO0FBQUEsSUFDTixNQUFNLE9BQWE7QUFDakIsWUFBTSxNQUFNLFlBQVk7QUFDdEIsWUFBSSxtQkFBbUI7QUFDckI7QUFBQSxRQUNGO0FBRUEsY0FBTSxVQUFVLFVBQU0sNkJBQVMsVUFBVSxPQUFPO0FBQ2hELGNBQU0sYUFBYSxRQUFRO0FBQUEsVUFDekI7QUFBQSxVQUNBLENBQUMsR0FBVyxRQUFnQixvQkFBb0MsU0FBUyxhQUFhLGlCQUFpQixVQUFVLElBQUk7QUFBQSxRQUN2SDtBQUVBLFlBQUksWUFBWSxZQUFZO0FBQzFCLG9CQUFNLDhCQUFVLFVBQVUsVUFBVTtBQUFBLFFBQ3RDO0FBQUEsTUFDRixDQUFDO0FBQUEsSUFDSDtBQUFBLEVBQ0Y7QUFDRjtBQVNBLFNBQVMseUJBQXlCLE1BQWMsWUFBNEI7QUFDMUUsUUFBTSxvQkFBZ0IseUJBQVksSUFBSSxFQUFFLFFBQVEsY0FBYyxFQUFFO0FBQ2hFLFNBQU8sNEJBQTRCLFVBQVUsSUFBSSxhQUFhO0FBQ2hFO0FBU0EsU0FBUyxhQUFhLGlCQUF5QixZQUE0QjtBQUN6RSxRQUFNLGdCQUFnQixPQUFPLEtBQUssaUJBQWlCLFFBQVEsRUFBRSxTQUFTLE9BQU87QUFDN0UsUUFBTSxZQUFZLEtBQUssTUFBTSxhQUFhO0FBQzFDLFlBQVUsVUFBVSxVQUFVLFFBQVEsSUFBSSxDQUFDLFNBQVMseUJBQXlCLE1BQU0sVUFBVSxDQUFDO0FBQzlGLFNBQU8sT0FBTyxLQUFLLEtBQUssVUFBVSxTQUFTLENBQUMsRUFBRSxTQUFTLFFBQVE7QUFDakU7IiwKICAibmFtZXMiOiBbXQp9Cg==
71
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdHMvZXNidWlsZC9maXhTb3VyY2VNYXBzUGx1Z2luLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBmaXhTb3VyY2VNYXBzUGx1Z2luXG4gKiBUaGlzIG1vZHVsZSBkZWZpbmVzIGFuIGVzYnVpbGQgcGx1Z2luIHRoYXQgZml4ZXMgc291cmNlIG1hcHMgZ2VuZXJhdGVkIGR1cmluZyBkZXZlbG9wbWVudC5cbiAqIEl0IGFkanVzdHMgdGhlIHBhdGhzIGluIHRoZSBzb3VyY2UgbWFwcyB0byBiZSBjb21wYXRpYmxlIHdpdGggT2JzaWRpYW4ncyBpbnRlcm5hbCBVUkwgc2NoZW1lLlxuICogVGhlIHBsdWdpbiBpcyBvbmx5IGFjdGl2ZSBkdXJpbmcgZGV2ZWxvcG1lbnQgYnVpbGRzLlxuICovXG5cbmltcG9ydCB0eXBlIHsgUGx1Z2luIH0gZnJvbSAnZXNidWlsZCc7XG5cbmltcG9ydCB7IHRvUG9zaXhQYXRoIH0gZnJvbSAnLi4vLi4vUGF0aC50cyc7XG5pbXBvcnQgeyByZXBsYWNlQWxsIH0gZnJvbSAnLi4vLi4vU3RyaW5nLnRzJztcbmltcG9ydCB7XG4gIHJlYWRGaWxlLFxuICB3cml0ZUZpbGVcbn0gZnJvbSAnLi4vTm9kZU1vZHVsZXMudHMnO1xuXG5pbnRlcmZhY2UgU291cmNlTWFwIHtcbiAgc291cmNlczogc3RyaW5nW107XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBlc2J1aWxkIHBsdWdpbiB0aGF0IGZpeGVzIHNvdXJjZSBtYXBzIGJ5IGFkanVzdGluZyB0aGUgcGF0aHMgdG8gYmUgY29tcGF0aWJsZVxuICogd2l0aCBPYnNpZGlhbidzIGludGVybmFsIFVSTCBzY2hlbWUuXG4gKlxuICogQHBhcmFtIGlzUHJvZHVjdGlvbkJ1aWxkIC0gQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgYnVpbGQgaXMgYSBwcm9kdWN0aW9uIGJ1aWxkLiBUaGUgcGx1Z2luIG9ubHkgcnVucyBpbiBub24tcHJvZHVjdGlvbiBidWlsZHMuXG4gKiBAcGFyYW0gZGlzdFBhdGggLSBUaGUgcGF0aCB0byB0aGUgb3V0cHV0IGZpbGUgY29udGFpbmluZyB0aGUgc291cmNlIG1hcC5cbiAqIEBwYXJhbSBwbHVnaW5OYW1lIC0gVGhlIG5hbWUgb2YgdGhlIE9ic2lkaWFuIHBsdWdpbiwgdXNlZCB0byBjb25zdHJ1Y3QgdGhlIE9ic2lkaWFuLXNwZWNpZmljIFVSTHMuXG4gKiBAcmV0dXJucyBBbiBlc2J1aWxkIGBQbHVnaW5gIG9iamVjdCB0aGF0IGZpeGVzIHNvdXJjZSBtYXBzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZml4U291cmNlTWFwc1BsdWdpbihpc1Byb2R1Y3Rpb25CdWlsZDogYm9vbGVhbiwgZGlzdFBhdGg6IHN0cmluZywgcGx1Z2luTmFtZTogc3RyaW5nKTogUGx1Z2luIHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnZml4LXNvdXJjZS1tYXBzJyxcbiAgICBzZXR1cChidWlsZCk6IHZvaWQge1xuICAgICAgYnVpbGQub25FbmQoYXN5bmMgKCkgPT4ge1xuICAgICAgICBpZiAoaXNQcm9kdWN0aW9uQnVpbGQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb250ZW50ID0gYXdhaXQgcmVhZEZpbGUoZGlzdFBhdGgsICd1dGYtOCcpO1xuICAgICAgICBjb25zdCBuZXdDb250ZW50ID0gcmVwbGFjZUFsbChjb250ZW50LFxuICAgICAgICAgIC8oXFxuXFwvXFwvIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb25cXC9qc29uO2Jhc2U2NCwpKC4rKVxcbigufFxcbikqL2csXG4gICAgICAgICAgKF8sIHByZWZpeCwgc291cmNlTWFwQmFzZTY0KTogc3RyaW5nID0+IHByZWZpeCArIGZpeFNvdXJjZU1hcChzb3VyY2VNYXBCYXNlNjQsIHBsdWdpbk5hbWUpICsgJ1xcbi8qIG5vc291cmNlbWFwICovJ1xuICAgICAgICApO1xuXG4gICAgICAgIGlmIChjb250ZW50ICE9PSBuZXdDb250ZW50KSB7XG4gICAgICAgICAgYXdhaXQgd3JpdGVGaWxlKGRpc3RQYXRoLCBuZXdDb250ZW50KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgZ2l2ZW4gZmlsZSBwYXRoIHRvIGFuIE9ic2lkaWFuLXNwZWNpZmljIFVSTC5cbiAqXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBvcmlnaW5hbCBmaWxlIHBhdGguXG4gKiBAcGFyYW0gcGx1Z2luTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBPYnNpZGlhbiBwbHVnaW4uXG4gKiBAcmV0dXJucyBUaGUgY29udmVydGVkIHBhdGggYXMgYW4gT2JzaWRpYW4tc3BlY2lmaWMgVVJMLlxuICovXG5mdW5jdGlvbiBjb252ZXJ0UGF0aFRvT2JzaWRpYW5VcmwocGF0aDogc3RyaW5nLCBwbHVnaW5OYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBjb252ZXJ0ZWRQYXRoID0gcmVwbGFjZUFsbCh0b1Bvc2l4UGF0aChwYXRoKSwgL14oXFwuXFwuXFwvKSsvLCAnJyk7XG4gIHJldHVybiBgYXBwOi8vb2JzaWRpYW4ubWQvcGx1Z2luOiR7cGx1Z2luTmFtZX0vJHtjb252ZXJ0ZWRQYXRofWA7XG59XG5cbi8qKlxuICogQWRqdXN0cyB0aGUgcGF0aHMgaW4gdGhlIGJhc2U2NC1lbmNvZGVkIHNvdXJjZSBtYXAgdG8gYmUgY29tcGF0aWJsZSB3aXRoIE9ic2lkaWFuJ3MgVVJMIHNjaGVtZS5cbiAqXG4gKiBAcGFyYW0gc291cmNlTWFwQmFzZTY0IC0gVGhlIGJhc2U2NC1lbmNvZGVkIHNvdXJjZSBtYXAgY29udGVudC5cbiAqIEBwYXJhbSBwbHVnaW5OYW1lIC0gVGhlIG5hbWUgb2YgdGhlIE9ic2lkaWFuIHBsdWdpbiwgdXNlZCB0byBjb25zdHJ1Y3QgdGhlIE9ic2lkaWFuLXNwZWNpZmljIFVSTHMuXG4gKiBAcmV0dXJucyBBIGJhc2U2NC1lbmNvZGVkIHN0cmluZyB3aXRoIHRoZSBhZGp1c3RlZCBzb3VyY2UgbWFwLlxuICovXG5mdW5jdGlvbiBmaXhTb3VyY2VNYXAoc291cmNlTWFwQmFzZTY0OiBzdHJpbmcsIHBsdWdpbk5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IHNvdXJjZU1hcEpzb24gPSBCdWZmZXIuZnJvbShzb3VyY2VNYXBCYXNlNjQsICdiYXNlNjQnKS50b1N0cmluZygndXRmLTgnKTtcbiAgY29uc3Qgc291cmNlTWFwID0gSlNPTi5wYXJzZShzb3VyY2VNYXBKc29uKSBhcyBQYXJ0aWFsPFNvdXJjZU1hcD47XG4gIHNvdXJjZU1hcC5zb3VyY2VzID0gKHNvdXJjZU1hcC5zb3VyY2VzID8/IFtdKS5tYXAoKHBhdGgpID0+IGNvbnZlcnRQYXRoVG9PYnNpZGlhblVybChwYXRoLCBwbHVnaW5OYW1lKSk7XG4gIHJldHVybiBCdWZmZXIuZnJvbShKU09OLnN0cmluZ2lmeShzb3VyY2VNYXApKS50b1N0cmluZygnYmFzZTY0Jyk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBU0Esa0JBQTRCO0FBQzVCLG9CQUEyQjtBQUMzQix5QkFHTztBQWVBLFNBQVMsb0JBQW9CLG1CQUE0QixVQUFrQixZQUE0QjtBQUM1RyxTQUFPO0FBQUEsSUFDTCxNQUFNO0FBQUEsSUFDTixNQUFNLE9BQWE7QUFDakIsWUFBTSxNQUFNLFlBQVk7QUFDdEIsWUFBSSxtQkFBbUI7QUFDckI7QUFBQSxRQUNGO0FBRUEsY0FBTSxVQUFVLFVBQU0sNkJBQVMsVUFBVSxPQUFPO0FBQ2hELGNBQU0saUJBQWE7QUFBQSxVQUFXO0FBQUEsVUFDNUI7QUFBQSxVQUNBLENBQUMsR0FBRyxRQUFRLG9CQUE0QixTQUFTLGFBQWEsaUJBQWlCLFVBQVUsSUFBSTtBQUFBLFFBQy9GO0FBRUEsWUFBSSxZQUFZLFlBQVk7QUFDMUIsb0JBQU0sOEJBQVUsVUFBVSxVQUFVO0FBQUEsUUFDdEM7QUFBQSxNQUNGLENBQUM7QUFBQSxJQUNIO0FBQUEsRUFDRjtBQUNGO0FBU0EsU0FBUyx5QkFBeUIsTUFBYyxZQUE0QjtBQUMxRSxRQUFNLG9CQUFnQiw4QkFBVyx5QkFBWSxJQUFJLEdBQUcsY0FBYyxFQUFFO0FBQ3BFLFNBQU8sNEJBQTRCLFVBQVUsSUFBSSxhQUFhO0FBQ2hFO0FBU0EsU0FBUyxhQUFhLGlCQUF5QixZQUE0QjtBQUN6RSxRQUFNLGdCQUFnQixPQUFPLEtBQUssaUJBQWlCLFFBQVEsRUFBRSxTQUFTLE9BQU87QUFDN0UsUUFBTSxZQUFZLEtBQUssTUFBTSxhQUFhO0FBQzFDLFlBQVUsV0FBVyxVQUFVLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLHlCQUF5QixNQUFNLFVBQVUsQ0FBQztBQUN0RyxTQUFPLE9BQU8sS0FBSyxLQUFLLFVBQVUsU0FBUyxDQUFDLEVBQUUsU0FBUyxRQUFRO0FBQ2pFOyIsCiAgIm5hbWVzIjogW10KfQo=