obsidian-dev-utils 3.4.0 → 3.5.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 3.5.0
4
+
5
+ - Don't change aliases for markdown links
6
+ - Make generateMarkdownLink work for deleted TFile
7
+
8
+ ## 3.4.1
9
+
10
+ - Use cancelButtonText
11
+
3
12
  ## 3.4.0
4
13
 
5
14
  - Refactor all modals
@@ -120,7 +120,8 @@ function updateLink(options) {
120
120
  displayText: link.displayText,
121
121
  file: pathOrFile,
122
122
  otherPaths: [oldPath, newPath],
123
- sourcePath
123
+ sourcePath,
124
+ isWikilink
124
125
  });
125
126
  if (newPath) {
126
127
  file = (0, import_implementations.createTFileInstance)(app.vault, newPath);
@@ -142,8 +143,12 @@ function getAlias(options) {
142
143
  displayText,
143
144
  file: pathOrFile,
144
145
  otherPaths,
145
- sourcePath
146
+ sourcePath,
147
+ isWikilink
146
148
  } = options;
149
+ if (isWikilink === false) {
150
+ return displayText;
151
+ }
147
152
  const file = (0, import_TFile.getFile)(app, pathOrFile);
148
153
  if (!displayText) {
149
154
  return void 0;
@@ -171,36 +176,38 @@ function getAlias(options) {
171
176
  function generateMarkdownLink(options) {
172
177
  const { app } = options;
173
178
  const file = (0, import_TFile.getFile)(app, options.pathOrFile);
174
- const sourcePath = (0, import_TAbstractFile.getPath)(options.sourcePathOrFile);
175
- const subpath = options.subpath ?? "";
176
- let alias = options.alias ?? "";
177
- const isEmbed = options.isEmbed ?? !(0, import_TAbstractFile.isMarkdownFile)(file);
178
- const isWikilink = options.isWikilink ?? (0, import_ObsidianSettings.shouldUseWikilinks)(app);
179
- const forceRelativePath = options.forceRelativePath ?? (0, import_ObsidianSettings.shouldUseRelativeLinks)(app);
180
- let linkText = file.path === sourcePath && subpath ? subpath : forceRelativePath ? (0, import_Path.relative)((0, import_Path.dirname)(sourcePath), isWikilink ? (0, import_TAbstractFile.trimMarkdownExtension)(file) : file.path) + subpath : app.metadataCache.fileToLinktext(file, sourcePath, isWikilink) + subpath;
181
- if (forceRelativePath && options.useLeadingDot && !linkText.startsWith(".") && !linkText.startsWith("#")) {
182
- linkText = "./" + linkText;
183
- }
184
- if (!isWikilink) {
185
- if (options.useAngleBrackets) {
186
- linkText = `<${linkText}>`;
187
- } else {
188
- linkText = linkText.replace(SPECIAL_LINK_SYMBOLS_REGEXP, function(specialLinkSymbol) {
189
- return encodeURIComponent(specialLinkSymbol);
190
- });
179
+ return (0, import_MetadataCache.tempRegisterFileAndRun)(app, file, () => {
180
+ const sourcePath = (0, import_TAbstractFile.getPath)(options.sourcePathOrFile);
181
+ const subpath = options.subpath ?? "";
182
+ let alias = options.alias ?? "";
183
+ const isEmbed = options.isEmbed ?? !(0, import_TAbstractFile.isMarkdownFile)(file);
184
+ const isWikilink = options.isWikilink ?? (0, import_ObsidianSettings.shouldUseWikilinks)(app);
185
+ const forceRelativePath = options.forceRelativePath ?? (0, import_ObsidianSettings.shouldUseRelativeLinks)(app);
186
+ let linkText = file.path === sourcePath && subpath ? subpath : forceRelativePath ? (0, import_Path.relative)((0, import_Path.dirname)(sourcePath), isWikilink ? (0, import_TAbstractFile.trimMarkdownExtension)(file) : file.path) + subpath : app.metadataCache.fileToLinktext(file, sourcePath, isWikilink) + subpath;
187
+ if (forceRelativePath && options.useLeadingDot && !linkText.startsWith(".") && !linkText.startsWith("#")) {
188
+ linkText = "./" + linkText;
191
189
  }
192
- if (!isEmbed) {
193
- return `[${alias || file.basename}](${linkText})`;
190
+ if (!isWikilink) {
191
+ if (options.useAngleBrackets) {
192
+ linkText = `<${linkText}>`;
193
+ } else {
194
+ linkText = linkText.replace(SPECIAL_LINK_SYMBOLS_REGEXP, function(specialLinkSymbol) {
195
+ return encodeURIComponent(specialLinkSymbol);
196
+ });
197
+ }
198
+ if (!isEmbed) {
199
+ return `[${alias || file.basename}](${linkText})`;
200
+ } else {
201
+ return `![${alias}](${linkText})`;
202
+ }
194
203
  } else {
195
- return `![${alias}](${linkText})`;
196
- }
197
- } else {
198
- if (alias && alias.toLowerCase() === linkText.toLowerCase()) {
199
- linkText = alias;
200
- alias = "";
204
+ if (alias && alias.toLowerCase() === linkText.toLowerCase()) {
205
+ linkText = alias;
206
+ alias = "";
207
+ }
208
+ return (isEmbed ? "!" : "") + (alias ? `[[${linkText}|${alias}]]` : `[[${linkText}]]`);
201
209
  }
202
- return (isEmbed ? "!" : "") + (alias ? `[[${linkText}|${alias}]]` : `[[${linkText}]]`);
203
- }
210
+ });
204
211
  }
205
212
  async function editLinks(app, pathOrFile, linkConverter, retryOptions = {}) {
206
213
  await (0, import_Vault.applyFileChanges)(app, pathOrFile, async () => {
@@ -234,4 +241,4 @@ async function editLinks(app, pathOrFile, linkConverter, retryOptions = {}) {
234
241
  updateLink,
235
242
  updateLinksInFile
236
243
  });
237
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL0xpbmsudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbJ2ltcG9ydC5tZXRhLnVybCddID8/ICgoKT0+e2lmKHR5cGVvZiBfX2ZpbGVuYW1lIT09XCJzdHJpbmdcIil7cmV0dXJuIG5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpfXJldHVybiByZXF1aXJlKFwibm9kZTp1cmxcIikucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKX0pKCk7XG52YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1sncHJvY2VzcyddID8/IHtcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIExpbmtcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIHV0aWxpdGllcyBmb3IgaGFuZGxpbmcgYW5kIHVwZGF0aW5nIGxpbmtzIHdpdGhpbiBPYnNpZGlhbiB2YXVsdHMuIEl0IGluY2x1ZGVzXG4gKiBmdW5jdGlvbnMgdG8gc3BsaXQgcGF0aHMsIHVwZGF0ZSBsaW5rcyBpbiBmaWxlcywgYW5kIGdlbmVyYXRlIG1hcmtkb3duIGxpbmtzIHdpdGggdmFyaW91cyBvcHRpb25zLlxuICogVGhlIGZ1bmN0aW9ucyBpbnRlZ3JhdGUgd2l0aCBPYnNpZGlhbidzIEFQSSB0byBlbnN1cmUgdGhhdCBsaW5rcyBhcmUgbWFuYWdlZCBjb3JyZWN0bHkgd2l0aGluIHRoZSB2YXVsdC5cbiAqKi9cblxuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIFJlZmVyZW5jZUNhY2hlLFxuICBURmlsZVxufSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgeyBub3JtYWxpemVQYXRoIH0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHsgY3JlYXRlVEZpbGVJbnN0YW5jZSB9IGZyb20gJ29ic2lkaWFuLXR5cGluZ3MvaW1wbGVtZW50YXRpb25zJztcblxuaW1wb3J0IHR5cGUge1xuICBNYXliZVByb21pc2UsXG4gIFJldHJ5T3B0aW9uc1xufSBmcm9tICcuLi9Bc3luYy50cyc7XG5pbXBvcnQgeyB0aHJvd0V4cHJlc3Npb24gfSBmcm9tICcuLi9FcnJvci50cyc7XG5pbXBvcnQge1xuICBiYXNlbmFtZSxcbiAgZGlybmFtZSxcbiAgZXh0bmFtZSxcbiAgcmVsYXRpdmVcbn0gZnJvbSAnLi4vUGF0aC50cyc7XG5pbXBvcnQgeyBub3JtYWxpemUgfSBmcm9tICcuLi9TdHJpbmcudHMnO1xuaW1wb3J0IHtcbiAgZ2V0QWxsTGlua3MsXG4gIGdldENhY2hlU2FmZVxufSBmcm9tICcuL01ldGFkYXRhQ2FjaGUudHMnO1xuaW1wb3J0IHtcbiAgc2hvdWxkVXNlUmVsYXRpdmVMaW5rcyxcbiAgc2hvdWxkVXNlV2lraWxpbmtzXG59IGZyb20gJy4vT2JzaWRpYW5TZXR0aW5ncy50cyc7XG5pbXBvcnQge1xuICBnZXRQYXRoLFxuICBpc01hcmtkb3duRmlsZSxcbiAgdHJpbU1hcmtkb3duRXh0ZW5zaW9uXG59IGZyb20gJy4vVEFic3RyYWN0RmlsZS50cyc7XG5pbXBvcnQgdHlwZSB7IFBhdGhPckZpbGUgfSBmcm9tICcuL1RGaWxlLnRzJztcbmltcG9ydCB7IGdldEZpbGUgfSBmcm9tICcuL1RGaWxlLnRzJztcbmltcG9ydCB0eXBlIHsgRmlsZUNoYW5nZSB9IGZyb20gJy4vVmF1bHQudHMnO1xuaW1wb3J0IHsgYXBwbHlGaWxlQ2hhbmdlcyB9IGZyb20gJy4vVmF1bHQudHMnO1xuXG4vKipcbiAqIFJlZ3VsYXIgZXhwcmVzc2lvbiBmb3Igc3BlY2lhbCBsaW5rIHN5bWJvbHMuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb250cm9sLXJlZ2V4XG5jb25zdCBTUEVDSUFMX0xJTktfU1lNQk9MU19SRUdFWFAgPSAvW1xcXFxcXHgwMFxceDA4XFx4MEJcXHgwQ1xceDBFLVxceDFGIF0vZztcblxuLyoqXG4gKiBTcGxpdHMgYSBsaW5rIGludG8gaXRzIGxpbmsgcGF0aCBhbmQgc3VicGF0aC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTcGxpdFN1YnBhdGhSZXN1bHQge1xuICAvKipcbiAgICogVGhlIGxpbmsgcGF0aC5cbiAgICovXG4gIGxpbmtQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzdWJwYXRoLlxuICAgKi9cbiAgc3VicGF0aDogc3RyaW5nIHwgdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIFNwbGl0cyBhIGxpbmsgaW50byBpdHMgbGluayBwYXRoIGFuZCBzdWJwYXRoLlxuICpcbiAqIEBwYXJhbSBsaW5rIC0gVGhlIGxpbmsgdG8gc3BsaXQuXG4gKiBAcmV0dXJucyBBbiBvYmplY3QgY29udGFpbmluZyB0aGUgbGluayBwYXRoIGFuZCBzdWJwYXRoLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc3BsaXRTdWJwYXRoKGxpbms6IHN0cmluZyk6IFNwbGl0U3VicGF0aFJlc3VsdCB7XG4gIGNvbnN0IFNVQlBBVEhfU0VQQVJBVE9SID0gJyMnO1xuICBjb25zdCBbbGlua1BhdGggPSAnJywgc3VicGF0aF0gPSBub3JtYWxpemUobGluaykuc3BsaXQoU1VCUEFUSF9TRVBBUkFUT1IpO1xuICByZXR1cm4ge1xuICAgIGxpbmtQYXRoLFxuICAgIHN1YnBhdGg6IHN1YnBhdGggPyBTVUJQQVRIX1NFUEFSQVRPUiArIHN1YnBhdGggOiB1bmRlZmluZWRcbiAgfTtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciB1cGRhdGluZyBsaW5rcyBpbiBhIGZpbGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlTGlua3NJbkZpbGVPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBvYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIGZpbGUgdG8gdXBkYXRlIHRoZSBsaW5rcyBpbi5cbiAgICovXG4gIHBhdGhPckZpbGU6IFBhdGhPckZpbGU7XG5cbiAgLyoqXG4gICAqIFRoZSBvbGQgcGF0aCBvZiB0aGUgZmlsZS5cbiAgICovXG4gIG9sZFBhdGhPckZpbGU6IFBhdGhPckZpbGU7XG5cbiAgLyoqXG4gICAqIEEgbWFwIG9mIG9sZCBhbmQgbmV3IHBhdGhzIGZvciByZW5hbWluZyBsaW5rcy5cbiAgICovXG4gIHJlbmFtZU1hcDogTWFwPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBmb3JjZSB0aGUgbGlua3MgdG8gYmUgaW4gTWFya2Rvd24gZm9ybWF0LlxuICAgKi9cbiAgZm9yY2VNYXJrZG93bkxpbmtzPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogV2hldGhlciB0byB1cGRhdGUgb25seSBlbWJlZGRlZCBsaW5rcy5cbiAgICovXG4gIGVtYmVkT25seUxpbmtzPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBVcGRhdGVzIHRoZSBsaW5rcyBpbiBhIGZpbGUgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBhcmFtZXRlcnMuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgdXBkYXRpbmcgdGhlIGxpbmtzLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgbGlua3MgYXJlIHVwZGF0ZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB1cGRhdGVMaW5rc0luRmlsZShvcHRpb25zOiBVcGRhdGVMaW5rc0luRmlsZU9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3Qge1xuICAgIGFwcCxcbiAgICBwYXRoT3JGaWxlLFxuICAgIG9sZFBhdGhPckZpbGUsXG4gICAgcmVuYW1lTWFwLFxuICAgIGZvcmNlTWFya2Rvd25MaW5rcyxcbiAgICBlbWJlZE9ubHlMaW5rc1xuICB9ID0gb3B0aW9ucztcbiAgYXdhaXQgZWRpdExpbmtzKGFwcCwgcGF0aE9yRmlsZSwgKGxpbmspID0+IHtcbiAgICBjb25zdCBpc0VtYmVkTGluayA9IGxpbmsub3JpZ2luYWwuc3RhcnRzV2l0aCgnIScpO1xuICAgIGlmIChlbWJlZE9ubHlMaW5rcyAhPT0gdW5kZWZpbmVkICYmIGVtYmVkT25seUxpbmtzICE9PSBpc0VtYmVkTGluaykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICByZXR1cm4gY29udmVydExpbmsoYXBwLCBsaW5rLCBwYXRoT3JGaWxlLCBvbGRQYXRoT3JGaWxlLCByZW5hbWVNYXAsIGZvcmNlTWFya2Rvd25MaW5rcyk7XG4gIH0pO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgbGluayB0byBhIG5ldyBwYXRoLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcGFyYW0gbGluayAtIFRoZSByZWZlcmVuY2UgY2FjaGUgZm9yIHRoZSBsaW5rLlxuICogQHBhcmFtIHNvdXJjZSAtIFRoZSBzb3VyY2UgZmlsZS5cbiAqIEBwYXJhbSBvbGRQYXRoT3JGaWxlIC0gVGhlIG9sZCBwYXRoIG9mIHRoZSBsaW5rLlxuICogQHBhcmFtIHJlbmFtZU1hcCAtIEEgbWFwIG9mIG9sZCBwYXRocyB0byBuZXcgcGF0aHMgZm9yIHJlbmFtaW5nLlxuICogQHBhcmFtIGZvcmNlTWFya2Rvd25MaW5rcyAtIE9wdGlvbmFsIGZsYWcgdG8gZm9yY2UgbWFya2Rvd24gbGlua3MuXG4gKiBAcmV0dXJucyBUaGUgY29udmVydGVkIGxpbmsuXG4gKi9cbmZ1bmN0aW9uIGNvbnZlcnRMaW5rKGFwcDogQXBwLCBsaW5rOiBSZWZlcmVuY2VDYWNoZSwgc291cmNlOiBQYXRoT3JGaWxlLCBvbGRQYXRoT3JGaWxlOiBQYXRoT3JGaWxlLCByZW5hbWVNYXA6IE1hcDxzdHJpbmcsIHN0cmluZz4sIGZvcmNlTWFya2Rvd25MaW5rcz86IGJvb2xlYW4pOiBzdHJpbmcge1xuICBvbGRQYXRoT3JGaWxlIHx8PSBnZXRQYXRoKHNvdXJjZSk7XG4gIHJldHVybiB1cGRhdGVMaW5rKHtcbiAgICBhcHAsXG4gICAgbGluayxcbiAgICBwYXRoT3JGaWxlOiBleHRyYWN0TGlua0ZpbGUoYXBwLCBsaW5rLCBvbGRQYXRoT3JGaWxlKSxcbiAgICBvbGRQYXRoT3JGaWxlLFxuICAgIHNvdXJjZVBhdGhPckZpbGU6IHNvdXJjZSxcbiAgICByZW5hbWVNYXAsXG4gICAgZm9yY2VNYXJrZG93bkxpbmtzXG4gIH0pO1xufVxuXG4vKipcbiAqIEV4dHJhY3RzIHRoZSBmaWxlIGFzc29jaWF0ZWQgd2l0aCBhIGxpbmsuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBsaW5rIC0gVGhlIHJlZmVyZW5jZSBjYWNoZSBmb3IgdGhlIGxpbmsuXG4gKiBAcGFyYW0gb2xkUGF0aE9yRmlsZSAtIFRoZSBvbGQgcGF0aCBvZiB0aGUgZmlsZS5cbiAqIEByZXR1cm5zIFRoZSBmaWxlIGFzc29jaWF0ZWQgd2l0aCB0aGUgbGluaywgb3IgbnVsbCBpZiBub3QgZm91bmQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBleHRyYWN0TGlua0ZpbGUoYXBwOiBBcHAsIGxpbms6IFJlZmVyZW5jZUNhY2hlLCBvbGRQYXRoT3JGaWxlOiBQYXRoT3JGaWxlKTogVEZpbGUgfCBudWxsIHtcbiAgY29uc3QgeyBsaW5rUGF0aCB9ID0gc3BsaXRTdWJwYXRoKGxpbmsubGluayk7XG4gIHJldHVybiBhcHAubWV0YWRhdGFDYWNoZS5nZXRGaXJzdExpbmtwYXRoRGVzdChsaW5rUGF0aCwgZ2V0UGF0aChvbGRQYXRoT3JGaWxlKSk7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgdXBkYXRpbmcgYSBsaW5rLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZUxpbmtPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIHJlZmVyZW5jZSBjYWNoZSBmb3IgdGhlIGxpbmsuXG4gICAqL1xuICBsaW5rOiBSZWZlcmVuY2VDYWNoZTtcblxuICAvKipcbiAgICogVGhlIGZpbGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBsaW5rLlxuICAgKi9cbiAgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBvbGQgcGF0aCBvZiB0aGUgZmlsZS5cbiAgICovXG4gIG9sZFBhdGhPckZpbGU6IFBhdGhPckZpbGU7XG5cbiAgLyoqXG4gICAqIFRoZSBzb3VyY2UgZmlsZSBjb250YWluaW5nIHRoZSBsaW5rLlxuICAgKi9cbiAgc291cmNlUGF0aE9yRmlsZTogUGF0aE9yRmlsZTtcblxuICAvKipcbiAgICogQSBtYXAgb2Ygb2xkIGFuZCBuZXcgZmlsZSBwYXRocy5cbiAgICovXG4gIHJlbmFtZU1hcDogTWFwPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBmb3JjZSBtYXJrZG93biBsaW5rcy5cbiAgICovXG4gIGZvcmNlTWFya2Rvd25MaW5rcz86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogVXBkYXRlcyBhIGxpbmsgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBhcmFtZXRlcnMuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgdXBkYXRpbmcgdGhlIGxpbmsuXG4gKiBAcmV0dXJucyBUaGUgdXBkYXRlZCBsaW5rLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlTGluayhvcHRpb25zOiBVcGRhdGVMaW5rT3B0aW9ucyk6IHN0cmluZyB7XG4gIGNvbnN0IHtcbiAgICBhcHAsXG4gICAgbGluayxcbiAgICBwYXRoT3JGaWxlLFxuICAgIG9sZFBhdGhPckZpbGUsXG4gICAgc291cmNlUGF0aE9yRmlsZTogc291cmNlLFxuICAgIHJlbmFtZU1hcCxcbiAgICBmb3JjZU1hcmtkb3duTGlua3NcbiAgfSA9IG9wdGlvbnM7XG4gIGlmICghcGF0aE9yRmlsZSkge1xuICAgIHJldHVybiBsaW5rLm9yaWdpbmFsO1xuICB9XG4gIGxldCBmaWxlID0gZ2V0RmlsZShhcHAsIHBhdGhPckZpbGUpO1xuICBjb25zdCBzb3VyY2VQYXRoID0gZ2V0UGF0aChzb3VyY2UpO1xuICBjb25zdCBvbGRQYXRoID0gZ2V0UGF0aChvbGRQYXRoT3JGaWxlKTtcbiAgY29uc3QgaXNFbWJlZCA9IGxpbmsub3JpZ2luYWwuc3RhcnRzV2l0aCgnIScpO1xuICBjb25zdCBpc1dpa2lsaW5rXG4gICAgPSBsaW5rLm9yaWdpbmFsLmluY2x1ZGVzKCdbWycpICYmIGZvcmNlTWFya2Rvd25MaW5rcyAhPT0gdHJ1ZTtcbiAgY29uc3QgeyBzdWJwYXRoIH0gPSBzcGxpdFN1YnBhdGgobGluay5saW5rKTtcblxuICBjb25zdCBuZXdQYXRoID0gcmVuYW1lTWFwLmdldChmaWxlLnBhdGgpO1xuICBjb25zdCBhbGlhcyA9IGdldEFsaWFzKHtcbiAgICBhcHAsXG4gICAgZGlzcGxheVRleHQ6IGxpbmsuZGlzcGxheVRleHQsXG4gICAgZmlsZTogcGF0aE9yRmlsZSxcbiAgICBvdGhlclBhdGhzOiBbb2xkUGF0aCwgbmV3UGF0aF0sXG4gICAgc291cmNlUGF0aFxuICB9KTtcblxuICBpZiAobmV3UGF0aCkge1xuICAgIGZpbGUgPSBjcmVhdGVURmlsZUluc3RhbmNlKGFwcC52YXVsdCwgbmV3UGF0aCk7XG4gIH1cblxuICBjb25zdCBuZXdMaW5rID0gZ2VuZXJhdGVNYXJrZG93bkxpbmsoe1xuICAgIGFwcCxcbiAgICBwYXRoT3JGaWxlOiBmaWxlLFxuICAgIHNvdXJjZVBhdGhPckZpbGU6IHNvdXJjZVBhdGgsXG4gICAgc3VicGF0aCxcbiAgICBhbGlhcyxcbiAgICBpc0VtYmVkLFxuICAgIGlzV2lraWxpbmtcbiAgfSk7XG4gIHJldHVybiBuZXdMaW5rO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGdldHRpbmcgdGhlIGFsaWFzIG9mIGEgbGluay5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZXRBbGlhc09wdGlvbnMge1xuICAvKipcbiAgICogVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAgICovXG4gIGFwcDogQXBwO1xuXG4gIC8qKlxuICAgKiBUaGUgZGlzcGxheSB0ZXh0IG9mIHRoZSBsaW5rLlxuICAgKi9cbiAgZGlzcGxheVRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIHBhdGggb3IgZmlsZSBvZiB0aGUgbGluay5cbiAgICovXG4gIGZpbGU6IFBhdGhPckZpbGU7XG5cbiAgLyoqXG4gICAqIE90aGVyIHBhdGhzIGFzc29jaWF0ZWQgd2l0aCB0aGUgbGluay5cbiAgICovXG4gIG90aGVyUGF0aHM6IChzdHJpbmcgfCB1bmRlZmluZWQpW107XG5cbiAgLyoqXG4gICAqIFRoZSBzb3VyY2UgcGF0aCBvZiB0aGUgbGluay5cbiAgICovXG4gIHNvdXJjZVBhdGg6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGFsaWFzIGZvciBhIGdpdmVuIGxpbmsuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgcmV0cmlldmluZyB0aGUgYWxpYXMuXG4gKiBAcmV0dXJucyBUaGUgYWxpYXMgb2YgdGhlIGxpbmssIG9yIHVuZGVmaW5lZCBpZiBzaG91bGQgYmUgZGVmYXVsdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFsaWFzKG9wdGlvbnM6IEdldEFsaWFzT3B0aW9ucyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHtcbiAgICBhcHAsXG4gICAgZGlzcGxheVRleHQsXG4gICAgZmlsZTogcGF0aE9yRmlsZSxcbiAgICBvdGhlclBhdGhzLFxuICAgIHNvdXJjZVBhdGhcbiAgfSA9IG9wdGlvbnM7XG4gIGNvbnN0IGZpbGUgPSBnZXRGaWxlKGFwcCwgcGF0aE9yRmlsZSk7XG5cbiAgaWYgKCFkaXNwbGF5VGV4dCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdCBjbGVhbkRpc3BsYXlUZXh0ID0gbm9ybWFsaXplUGF0aChkaXNwbGF5VGV4dC5zcGxpdCgnID4gJylbMF0gPz8gdGhyb3dFeHByZXNzaW9uKG5ldyBFcnJvcignSW52YWxpZCBkaXNwbGF5IHRleHQnKSkpLnJlcGxhY2UoL1xcLlxcLy9nLCAnJyk7XG5cbiAgZm9yIChjb25zdCBwYXRoIG9mIFtmaWxlLnBhdGgsIC4uLm90aGVyUGF0aHNdKSB7XG4gICAgaWYgKCFwYXRoKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgY29uc3QgZXh0ZW5zaW9uID0gZXh0bmFtZShwYXRoKTtcbiAgICBjb25zdCBmaWxlTmFtZVdpdGhFeHRlbnNpb24gPSBiYXNlbmFtZShwYXRoKTtcbiAgICBjb25zdCBmaWxlTmFtZVdpdGhvdXRFeHRlbnNpb24gPSBiYXNlbmFtZShwYXRoLCBleHRlbnNpb24pO1xuICAgIGlmIChjbGVhbkRpc3BsYXlUZXh0ID09PSBwYXRoIHx8IGNsZWFuRGlzcGxheVRleHQgPT09IGZpbGVOYW1lV2l0aEV4dGVuc2lvbiB8fCBjbGVhbkRpc3BsYXlUZXh0ID09PSBmaWxlTmFtZVdpdGhvdXRFeHRlbnNpb24pIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgZm9yIChjb25zdCBvbWl0TWRFeHRlbnNpb24gb2YgW3RydWUsIGZhbHNlXSkge1xuICAgIGNvbnN0IGxpbmtUZXh0ID0gYXBwLm1ldGFkYXRhQ2FjaGUuZmlsZVRvTGlua3RleHQoZmlsZSwgc291cmNlUGF0aCwgb21pdE1kRXh0ZW5zaW9uKTtcbiAgICBpZiAoY2xlYW5EaXNwbGF5VGV4dCA9PT0gbGlua1RleHQpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRpc3BsYXlUZXh0O1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGdlbmVyYXRpbmcgYSBtYXJrZG93biBsaW5rLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdlbmVyYXRlTWFya2Rvd25MaW5rT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICAgKi9cbiAgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFRoZSBmaWxlIHRvIGxpbmsgdG8uXG4gICAqL1xuICBwYXRoT3JGaWxlOiBQYXRoT3JGaWxlO1xuXG4gIC8qKlxuICAgKiBUaGUgc291cmNlIHBhdGggb2YgdGhlIGxpbmsuXG4gICAqL1xuICBzb3VyY2VQYXRoT3JGaWxlOiBQYXRoT3JGaWxlO1xuXG4gIC8qKlxuICAgKiBUaGUgc3VicGF0aCBvZiB0aGUgbGluay5cbiAgICovXG4gIHN1YnBhdGg/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBhbGlhcyBmb3IgdGhlIGxpbmsuXG4gICAqL1xuICBhbGlhcz86IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBsaW5rIHNob3VsZCBiZSBlbWJlZGRlZC4gSWYgbm90IHByb3ZpZGVkLCBpdCB3aWxsIGJlIGluZmVycmVkIGJhc2VkIG9uIHRoZSBmaWxlIHR5cGUuXG4gICAqL1xuICBpc0VtYmVkPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBsaW5rIHNob3VsZCBiZSBhIHdpa2lsaW5rLiBJZiBub3QgcHJvdmlkZWQsIGl0IHdpbGwgYmUgaW5mZXJyZWQgYmFzZWQgb24gdGhlIE9ic2lkaWFuIHNldHRpbmdzLlxuICAgKi9cbiAgaXNXaWtpbGluaz86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgbGluayBzaG91bGQgYmUgcmVsYXRpdmUuIElmIG5vdCBwcm92aWRlZCBvciBgZmFsc2VgLCBpdCB3aWxsIGJlIGluZmVycmVkIGJhc2VkIG9uIHRoZSBPYnNpZGlhbiBzZXR0aW5ncy5cbiAgICovXG4gIGZvcmNlUmVsYXRpdmVQYXRoPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBsaW5rIHNob3VsZCB1c2UgYSBsZWFkaW5nIGRvdC4gRGVmYXVsdHMgdG8gYGZhbHNlYC4gSGFzIG5vIGVmZmVjdCBpZiBgaXNXaWtpbGlua2AgaXMgYHRydWVgIG9yIGBpc1JlbGF0aXZlYCBpcyBgZmFsc2VgLlxuICAgKi9cbiAgdXNlTGVhZGluZ0RvdD86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgbGluayBzaG91bGQgdXNlIGFuZ2xlIGJyYWNrZXRzLiBEZWZhdWx0cyB0byBgZmFsc2VgLiBIYXMgbm8gZWZmZWN0IGlmIGBpc1dpa2lsaW5rYCBpcyBgdHJ1ZWBcbiAgICovXG4gIHVzZUFuZ2xlQnJhY2tldHM/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlcyBhIG1hcmtkb3duIGxpbmsgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBhcmFtZXRlcnMuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgZ2VuZXJhdGluZyB0aGUgbWFya2Rvd24gbGluay5cbiAqIEByZXR1cm5zIFRoZSBnZW5lcmF0ZWQgbWFya2Rvd24gbGluay5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlTWFya2Rvd25MaW5rKG9wdGlvbnM6IEdlbmVyYXRlTWFya2Rvd25MaW5rT3B0aW9ucyk6IHN0cmluZyB7XG4gIGNvbnN0IHsgYXBwIH0gPSBvcHRpb25zO1xuICBjb25zdCBmaWxlID0gZ2V0RmlsZShhcHAsIG9wdGlvbnMucGF0aE9yRmlsZSk7XG4gIGNvbnN0IHNvdXJjZVBhdGggPSBnZXRQYXRoKG9wdGlvbnMuc291cmNlUGF0aE9yRmlsZSk7XG4gIGNvbnN0IHN1YnBhdGggPSBvcHRpb25zLnN1YnBhdGggPz8gJyc7XG4gIGxldCBhbGlhcyA9IG9wdGlvbnMuYWxpYXMgPz8gJyc7XG4gIGNvbnN0IGlzRW1iZWQgPSBvcHRpb25zLmlzRW1iZWQgPz8gIWlzTWFya2Rvd25GaWxlKGZpbGUpO1xuICBjb25zdCBpc1dpa2lsaW5rID0gb3B0aW9ucy5pc1dpa2lsaW5rID8/IHNob3VsZFVzZVdpa2lsaW5rcyhhcHApO1xuICBjb25zdCBmb3JjZVJlbGF0aXZlUGF0aCA9IG9wdGlvbnMuZm9yY2VSZWxhdGl2ZVBhdGggPz8gc2hvdWxkVXNlUmVsYXRpdmVMaW5rcyhhcHApO1xuXG4gIGxldCBsaW5rVGV4dCA9IGZpbGUucGF0aCA9PT0gc291cmNlUGF0aCAmJiBzdWJwYXRoXG4gICAgPyBzdWJwYXRoXG4gICAgOiBmb3JjZVJlbGF0aXZlUGF0aFxuICAgICAgPyByZWxhdGl2ZShkaXJuYW1lKHNvdXJjZVBhdGgpLCBpc1dpa2lsaW5rID8gdHJpbU1hcmtkb3duRXh0ZW5zaW9uKGZpbGUpIDogZmlsZS5wYXRoKSArIHN1YnBhdGhcbiAgICAgIDogYXBwLm1ldGFkYXRhQ2FjaGUuZmlsZVRvTGlua3RleHQoZmlsZSwgc291cmNlUGF0aCwgaXNXaWtpbGluaykgKyBzdWJwYXRoO1xuXG4gIGlmIChmb3JjZVJlbGF0aXZlUGF0aCAmJiBvcHRpb25zLnVzZUxlYWRpbmdEb3QgJiYgIWxpbmtUZXh0LnN0YXJ0c1dpdGgoJy4nKSAmJiAhbGlua1RleHQuc3RhcnRzV2l0aCgnIycpKSB7XG4gICAgbGlua1RleHQgPSAnLi8nICsgbGlua1RleHQ7XG4gIH1cblxuICBpZiAoIWlzV2lraWxpbmspIHtcbiAgICBpZiAob3B0aW9ucy51c2VBbmdsZUJyYWNrZXRzKSB7XG4gICAgICBsaW5rVGV4dCA9IGA8JHtsaW5rVGV4dH0+YDtcbiAgICB9IGVsc2Uge1xuICAgICAgbGlua1RleHQgPSBsaW5rVGV4dC5yZXBsYWNlKFNQRUNJQUxfTElOS19TWU1CT0xTX1JFR0VYUCwgZnVuY3Rpb24gKHNwZWNpYWxMaW5rU3ltYm9sKSB7XG4gICAgICAgIHJldHVybiBlbmNvZGVVUklDb21wb25lbnQoc3BlY2lhbExpbmtTeW1ib2wpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKCFpc0VtYmVkKSB7XG4gICAgICByZXR1cm4gYFske2FsaWFzIHx8IGZpbGUuYmFzZW5hbWV9XSgke2xpbmtUZXh0fSlgO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYCFbJHthbGlhc31dKCR7bGlua1RleHR9KWA7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGlmIChhbGlhcyAmJiBhbGlhcy50b0xvd2VyQ2FzZSgpID09PSBsaW5rVGV4dC50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICBsaW5rVGV4dCA9IGFsaWFzO1xuICAgICAgYWxpYXMgPSAnJztcbiAgICB9XG5cbiAgICByZXR1cm4gKGlzRW1iZWQgPyAnIScgOiAnJykgKyAoYWxpYXMgPyBgW1ske2xpbmtUZXh0fXwke2FsaWFzfV1dYCA6IGBbWyR7bGlua1RleHR9XV1gKTtcbiAgfVxufVxuXG4vKipcbiAqIEVkaXRzIHRoZSBsaW5rcyBpbiB0aGUgc3BlY2lmaWVkIGZpbGUgb3IgcGF0aCB1c2luZyB0aGUgcHJvdmlkZWQgbGluayBjb252ZXJ0ZXIgZnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgZmlsZSB0byBlZGl0IHRoZSBsaW5rcyBpbi5cbiAqIEBwYXJhbSBsaW5rQ29udmVydGVyIC0gVGhlIGZ1bmN0aW9uIHRoYXQgY29udmVydHMgZWFjaCBsaW5rLlxuICogQHBhcmFtIHJldHJ5T3B0aW9ucyAtIE9wdGlvbmFsIG9wdGlvbnMgZm9yIHJldHJ5aW5nIHRoZSBvcGVyYXRpb24uXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBsaW5rcyBoYXZlIGJlZW4gZWRpdGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZWRpdExpbmtzKFxuICBhcHA6IEFwcCxcbiAgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1pbnZhbGlkLXZvaWQtdHlwZVxuICBsaW5rQ29udmVydGVyOiAobGluazogUmVmZXJlbmNlQ2FjaGUpID0+IE1heWJlUHJvbWlzZTxzdHJpbmcgfCB2b2lkPixcbiAgcmV0cnlPcHRpb25zOiBQYXJ0aWFsPFJldHJ5T3B0aW9ucz4gPSB7fSk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBhcHBseUZpbGVDaGFuZ2VzKGFwcCwgcGF0aE9yRmlsZSwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGNhY2hlID0gYXdhaXQgZ2V0Q2FjaGVTYWZlKGFwcCwgcGF0aE9yRmlsZSk7XG4gICAgaWYgKCFjYWNoZSkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGNvbnN0IGNoYW5nZXM6IEZpbGVDaGFuZ2VbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBsaW5rIG9mIGdldEFsbExpbmtzKGNhY2hlKSkge1xuICAgICAgY29uc3QgbmV3Q29udGVudCA9IGF3YWl0IGxpbmtDb252ZXJ0ZXIobGluayk7XG4gICAgICBpZiAobmV3Q29udGVudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBjaGFuZ2VzLnB1c2goe1xuICAgICAgICBzdGFydEluZGV4OiBsaW5rLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldCxcbiAgICAgICAgZW5kSW5kZXg6IGxpbmsucG9zaXRpb24uZW5kLm9mZnNldCxcbiAgICAgICAgb2xkQ29udGVudDogbGluay5vcmlnaW5hbCxcbiAgICAgICAgbmV3Q29udGVudFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNoYW5nZXM7XG4gIH0sIHJldHJ5T3B0aW9ucyk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFrQkEsc0JBQThCO0FBQzlCLDZCQUFvQztBQU1wQyxtQkFBZ0M7QUFDaEMsa0JBS087QUFDUCxvQkFBMEI7QUFDMUIsMkJBR087QUFDUCw4QkFHTztBQUNQLDJCQUlPO0FBRVAsbUJBQXdCO0FBRXhCLG1CQUFpQztBQWpEakMsSUFBSSxvQkFBb0IsV0FBVyxpQkFBaUIsTUFBTSxNQUFJO0FBQUMsTUFBRyxPQUFPLGVBQWEsVUFBUztBQUFDLFdBQU8sSUFBSSxJQUFJLE9BQU8sU0FBUyxJQUFJO0FBQUEsRUFBQztBQUFDLFNBQU8sUUFBUSxVQUFVLEVBQUUsY0FBYyxVQUFVO0FBQUMsR0FBRztBQUM1TCxJQUFJLFlBQVksV0FBVyxTQUFTLEtBQUs7QUFBQSxFQUN2QyxPQUFPLE1BQUk7QUFBQSxFQUNYLE9BQU8sQ0FBQztBQUFBLEVBQ1IsWUFBWTtBQUNkO0FBa0RBLE1BQU0sOEJBQThCO0FBdUI3QixTQUFTLGFBQWEsTUFBa0M7QUFDN0QsUUFBTSxvQkFBb0I7QUFDMUIsUUFBTSxDQUFDLFdBQVcsSUFBSSxPQUFPLFFBQUkseUJBQVUsSUFBSSxFQUFFLE1BQU0saUJBQWlCO0FBQ3hFLFNBQU87QUFBQSxJQUNMO0FBQUEsSUFDQSxTQUFTLFVBQVUsb0JBQW9CLFVBQVU7QUFBQSxFQUNuRDtBQUNGO0FBMkNBLGVBQXNCLGtCQUFrQixTQUFrRDtBQUN4RixRQUFNO0FBQUEsSUFDSjtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsRUFDRixJQUFJO0FBQ0osUUFBTSxVQUFVLEtBQUssWUFBWSxDQUFDLFNBQVM7QUFDekMsVUFBTSxjQUFjLEtBQUssU0FBUyxXQUFXLEdBQUc7QUFDaEQsUUFBSSxtQkFBbUIsVUFBYSxtQkFBbUIsYUFBYTtBQUNsRTtBQUFBLElBQ0Y7QUFDQSxXQUFPLFlBQVksS0FBSyxNQUFNLFlBQVksZUFBZSxXQUFXLGtCQUFrQjtBQUFBLEVBQ3hGLENBQUM7QUFDSDtBQWFBLFNBQVMsWUFBWSxLQUFVLE1BQXNCLFFBQW9CLGVBQTJCLFdBQWdDLG9CQUFzQztBQUN4Syx3QkFBa0IsOEJBQVEsTUFBTTtBQUNoQyxTQUFPLFdBQVc7QUFBQSxJQUNoQjtBQUFBLElBQ0E7QUFBQSxJQUNBLFlBQVksZ0JBQWdCLEtBQUssTUFBTSxhQUFhO0FBQUEsSUFDcEQ7QUFBQSxJQUNBLGtCQUFrQjtBQUFBLElBQ2xCO0FBQUEsSUFDQTtBQUFBLEVBQ0YsQ0FBQztBQUNIO0FBVU8sU0FBUyxnQkFBZ0IsS0FBVSxNQUFzQixlQUF5QztBQUN2RyxRQUFNLEVBQUUsU0FBUyxJQUFJLGFBQWEsS0FBSyxJQUFJO0FBQzNDLFNBQU8sSUFBSSxjQUFjLHFCQUFxQixjQUFVLDhCQUFRLGFBQWEsQ0FBQztBQUNoRjtBQWdETyxTQUFTLFdBQVcsU0FBb0M7QUFDN0QsUUFBTTtBQUFBLElBQ0o7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBLGtCQUFrQjtBQUFBLElBQ2xCO0FBQUEsSUFDQTtBQUFBLEVBQ0YsSUFBSTtBQUNKLE1BQUksQ0FBQyxZQUFZO0FBQ2YsV0FBTyxLQUFLO0FBQUEsRUFDZDtBQUNBLE1BQUksV0FBTyxzQkFBUSxLQUFLLFVBQVU7QUFDbEMsUUFBTSxpQkFBYSw4QkFBUSxNQUFNO0FBQ2pDLFFBQU0sY0FBVSw4QkFBUSxhQUFhO0FBQ3JDLFFBQU0sVUFBVSxLQUFLLFNBQVMsV0FBVyxHQUFHO0FBQzVDLFFBQU0sYUFDRixLQUFLLFNBQVMsU0FBUyxJQUFJLEtBQUssdUJBQXVCO0FBQzNELFFBQU0sRUFBRSxRQUFRLElBQUksYUFBYSxLQUFLLElBQUk7QUFFMUMsUUFBTSxVQUFVLFVBQVUsSUFBSSxLQUFLLElBQUk7QUFDdkMsUUFBTSxRQUFRLFNBQVM7QUFBQSxJQUNyQjtBQUFBLElBQ0EsYUFBYSxLQUFLO0FBQUEsSUFDbEIsTUFBTTtBQUFBLElBQ04sWUFBWSxDQUFDLFNBQVMsT0FBTztBQUFBLElBQzdCO0FBQUEsRUFDRixDQUFDO0FBRUQsTUFBSSxTQUFTO0FBQ1gsZUFBTyw0Q0FBb0IsSUFBSSxPQUFPLE9BQU87QUFBQSxFQUMvQztBQUVBLFFBQU0sVUFBVSxxQkFBcUI7QUFBQSxJQUNuQztBQUFBLElBQ0EsWUFBWTtBQUFBLElBQ1osa0JBQWtCO0FBQUEsSUFDbEI7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxFQUNGLENBQUM7QUFDRCxTQUFPO0FBQ1Q7QUFzQ08sU0FBUyxTQUFTLFNBQThDO0FBQ3JFLFFBQU07QUFBQSxJQUNKO0FBQUEsSUFDQTtBQUFBLElBQ0EsTUFBTTtBQUFBLElBQ047QUFBQSxJQUNBO0FBQUEsRUFDRixJQUFJO0FBQ0osUUFBTSxXQUFPLHNCQUFRLEtBQUssVUFBVTtBQUVwQyxNQUFJLENBQUMsYUFBYTtBQUNoQixXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0sdUJBQW1CLCtCQUFjLFlBQVksTUFBTSxLQUFLLEVBQUUsQ0FBQyxTQUFLLDhCQUFnQixJQUFJLE1BQU0sc0JBQXNCLENBQUMsQ0FBQyxFQUFFLFFBQVEsU0FBUyxFQUFFO0FBRTdJLGFBQVcsUUFBUSxDQUFDLEtBQUssTUFBTSxHQUFHLFVBQVUsR0FBRztBQUM3QyxRQUFJLENBQUMsTUFBTTtBQUNUO0FBQUEsSUFDRjtBQUNBLFVBQU0sZ0JBQVkscUJBQVEsSUFBSTtBQUM5QixVQUFNLDRCQUF3QixzQkFBUyxJQUFJO0FBQzNDLFVBQU0sK0JBQTJCLHNCQUFTLE1BQU0sU0FBUztBQUN6RCxRQUFJLHFCQUFxQixRQUFRLHFCQUFxQix5QkFBeUIscUJBQXFCLDBCQUEwQjtBQUM1SCxhQUFPO0FBQUEsSUFDVDtBQUFBLEVBQ0Y7QUFFQSxhQUFXLG1CQUFtQixDQUFDLE1BQU0sS0FBSyxHQUFHO0FBQzNDLFVBQU0sV0FBVyxJQUFJLGNBQWMsZUFBZSxNQUFNLFlBQVksZUFBZTtBQUNuRixRQUFJLHFCQUFxQixVQUFVO0FBQ2pDLGFBQU87QUFBQSxJQUNUO0FBQUEsRUFDRjtBQUVBLFNBQU87QUFDVDtBQStETyxTQUFTLHFCQUFxQixTQUE4QztBQUNqRixRQUFNLEVBQUUsSUFBSSxJQUFJO0FBQ2hCLFFBQU0sV0FBTyxzQkFBUSxLQUFLLFFBQVEsVUFBVTtBQUM1QyxRQUFNLGlCQUFhLDhCQUFRLFFBQVEsZ0JBQWdCO0FBQ25ELFFBQU0sVUFBVSxRQUFRLFdBQVc7QUFDbkMsTUFBSSxRQUFRLFFBQVEsU0FBUztBQUM3QixRQUFNLFVBQVUsUUFBUSxXQUFXLEtBQUMscUNBQWUsSUFBSTtBQUN2RCxRQUFNLGFBQWEsUUFBUSxrQkFBYyw0Q0FBbUIsR0FBRztBQUMvRCxRQUFNLG9CQUFvQixRQUFRLHlCQUFxQixnREFBdUIsR0FBRztBQUVqRixNQUFJLFdBQVcsS0FBSyxTQUFTLGNBQWMsVUFDdkMsVUFDQSx3QkFDRSwwQkFBUyxxQkFBUSxVQUFVLEdBQUcsaUJBQWEsNENBQXNCLElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxVQUN0RixJQUFJLGNBQWMsZUFBZSxNQUFNLFlBQVksVUFBVSxJQUFJO0FBRXZFLE1BQUkscUJBQXFCLFFBQVEsaUJBQWlCLENBQUMsU0FBUyxXQUFXLEdBQUcsS0FBSyxDQUFDLFNBQVMsV0FBVyxHQUFHLEdBQUc7QUFDeEcsZUFBVyxPQUFPO0FBQUEsRUFDcEI7QUFFQSxNQUFJLENBQUMsWUFBWTtBQUNmLFFBQUksUUFBUSxrQkFBa0I7QUFDNUIsaUJBQVcsSUFBSSxRQUFRO0FBQUEsSUFDekIsT0FBTztBQUNMLGlCQUFXLFNBQVMsUUFBUSw2QkFBNkIsU0FBVSxtQkFBbUI7QUFDcEYsZUFBTyxtQkFBbUIsaUJBQWlCO0FBQUEsTUFDN0MsQ0FBQztBQUFBLElBQ0g7QUFFQSxRQUFJLENBQUMsU0FBUztBQUNaLGFBQU8sSUFBSSxTQUFTLEtBQUssUUFBUSxLQUFLLFFBQVE7QUFBQSxJQUNoRCxPQUFPO0FBQ0wsYUFBTyxLQUFLLEtBQUssS0FBSyxRQUFRO0FBQUEsSUFDaEM7QUFBQSxFQUNGLE9BQU87QUFDTCxRQUFJLFNBQVMsTUFBTSxZQUFZLE1BQU0sU0FBUyxZQUFZLEdBQUc7QUFDM0QsaUJBQVc7QUFDWCxjQUFRO0FBQUEsSUFDVjtBQUVBLFlBQVEsVUFBVSxNQUFNLE9BQU8sUUFBUSxLQUFLLFFBQVEsSUFBSSxLQUFLLE9BQU8sS0FBSyxRQUFRO0FBQUEsRUFDbkY7QUFDRjtBQVdBLGVBQXNCLFVBQ3BCLEtBQ0EsWUFFQSxlQUNBLGVBQXNDLENBQUMsR0FBa0I7QUFDekQsWUFBTSwrQkFBaUIsS0FBSyxZQUFZLFlBQVk7QUFDbEQsVUFBTSxRQUFRLFVBQU0sbUNBQWEsS0FBSyxVQUFVO0FBQ2hELFFBQUksQ0FBQyxPQUFPO0FBQ1YsYUFBTyxDQUFDO0FBQUEsSUFDVjtBQUVBLFVBQU0sVUFBd0IsQ0FBQztBQUUvQixlQUFXLFlBQVEsa0NBQVksS0FBSyxHQUFHO0FBQ3JDLFlBQU0sYUFBYSxNQUFNLGNBQWMsSUFBSTtBQUMzQyxVQUFJLGVBQWUsUUFBVztBQUM1QjtBQUFBLE1BQ0Y7QUFFQSxjQUFRLEtBQUs7QUFBQSxRQUNYLFlBQVksS0FBSyxTQUFTLE1BQU07QUFBQSxRQUNoQyxVQUFVLEtBQUssU0FBUyxJQUFJO0FBQUEsUUFDNUIsWUFBWSxLQUFLO0FBQUEsUUFDakI7QUFBQSxNQUNGLENBQUM7QUFBQSxJQUNIO0FBRUEsV0FBTztBQUFBLEVBQ1QsR0FBRyxZQUFZO0FBQ2pCOyIsCiAgIm5hbWVzIjogW10KfQo=
244
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL0xpbmsudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbJ2ltcG9ydC5tZXRhLnVybCddID8/ICgoKT0+e2lmKHR5cGVvZiBfX2ZpbGVuYW1lIT09XCJzdHJpbmdcIil7cmV0dXJuIG5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpfXJldHVybiByZXF1aXJlKFwibm9kZTp1cmxcIikucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKX0pKCk7XG52YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1sncHJvY2VzcyddID8/IHtcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIExpbmtcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIHV0aWxpdGllcyBmb3IgaGFuZGxpbmcgYW5kIHVwZGF0aW5nIGxpbmtzIHdpdGhpbiBPYnNpZGlhbiB2YXVsdHMuIEl0IGluY2x1ZGVzXG4gKiBmdW5jdGlvbnMgdG8gc3BsaXQgcGF0aHMsIHVwZGF0ZSBsaW5rcyBpbiBmaWxlcywgYW5kIGdlbmVyYXRlIG1hcmtkb3duIGxpbmtzIHdpdGggdmFyaW91cyBvcHRpb25zLlxuICogVGhlIGZ1bmN0aW9ucyBpbnRlZ3JhdGUgd2l0aCBPYnNpZGlhbidzIEFQSSB0byBlbnN1cmUgdGhhdCBsaW5rcyBhcmUgbWFuYWdlZCBjb3JyZWN0bHkgd2l0aGluIHRoZSB2YXVsdC5cbiAqKi9cblxuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIFJlZmVyZW5jZUNhY2hlLFxuICBURmlsZVxufSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgeyBub3JtYWxpemVQYXRoIH0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHsgY3JlYXRlVEZpbGVJbnN0YW5jZSB9IGZyb20gJ29ic2lkaWFuLXR5cGluZ3MvaW1wbGVtZW50YXRpb25zJztcblxuaW1wb3J0IHR5cGUge1xuICBNYXliZVByb21pc2UsXG4gIFJldHJ5T3B0aW9uc1xufSBmcm9tICcuLi9Bc3luYy50cyc7XG5pbXBvcnQgeyB0aHJvd0V4cHJlc3Npb24gfSBmcm9tICcuLi9FcnJvci50cyc7XG5pbXBvcnQge1xuICBiYXNlbmFtZSxcbiAgZGlybmFtZSxcbiAgZXh0bmFtZSxcbiAgcmVsYXRpdmVcbn0gZnJvbSAnLi4vUGF0aC50cyc7XG5pbXBvcnQgeyBub3JtYWxpemUgfSBmcm9tICcuLi9TdHJpbmcudHMnO1xuaW1wb3J0IHtcbiAgZ2V0QWxsTGlua3MsXG4gIGdldENhY2hlU2FmZSxcbiAgdGVtcFJlZ2lzdGVyRmlsZUFuZFJ1blxufSBmcm9tICcuL01ldGFkYXRhQ2FjaGUudHMnO1xuaW1wb3J0IHtcbiAgc2hvdWxkVXNlUmVsYXRpdmVMaW5rcyxcbiAgc2hvdWxkVXNlV2lraWxpbmtzXG59IGZyb20gJy4vT2JzaWRpYW5TZXR0aW5ncy50cyc7XG5pbXBvcnQge1xuICBnZXRQYXRoLFxuICBpc01hcmtkb3duRmlsZSxcbiAgdHJpbU1hcmtkb3duRXh0ZW5zaW9uXG59IGZyb20gJy4vVEFic3RyYWN0RmlsZS50cyc7XG5pbXBvcnQgdHlwZSB7IFBhdGhPckZpbGUgfSBmcm9tICcuL1RGaWxlLnRzJztcbmltcG9ydCB7IGdldEZpbGUgfSBmcm9tICcuL1RGaWxlLnRzJztcbmltcG9ydCB0eXBlIHsgRmlsZUNoYW5nZSB9IGZyb20gJy4vVmF1bHQudHMnO1xuaW1wb3J0IHsgYXBwbHlGaWxlQ2hhbmdlcyB9IGZyb20gJy4vVmF1bHQudHMnO1xuXG4vKipcbiAqIFJlZ3VsYXIgZXhwcmVzc2lvbiBmb3Igc3BlY2lhbCBsaW5rIHN5bWJvbHMuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb250cm9sLXJlZ2V4XG5jb25zdCBTUEVDSUFMX0xJTktfU1lNQk9MU19SRUdFWFAgPSAvW1xcXFxcXHgwMFxceDA4XFx4MEJcXHgwQ1xceDBFLVxceDFGIF0vZztcblxuLyoqXG4gKiBTcGxpdHMgYSBsaW5rIGludG8gaXRzIGxpbmsgcGF0aCBhbmQgc3VicGF0aC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTcGxpdFN1YnBhdGhSZXN1bHQge1xuICAvKipcbiAgICogVGhlIGxpbmsgcGF0aC5cbiAgICovXG4gIGxpbmtQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzdWJwYXRoLlxuICAgKi9cbiAgc3VicGF0aDogc3RyaW5nIHwgdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIFNwbGl0cyBhIGxpbmsgaW50byBpdHMgbGluayBwYXRoIGFuZCBzdWJwYXRoLlxuICpcbiAqIEBwYXJhbSBsaW5rIC0gVGhlIGxpbmsgdG8gc3BsaXQuXG4gKiBAcmV0dXJucyBBbiBvYmplY3QgY29udGFpbmluZyB0aGUgbGluayBwYXRoIGFuZCBzdWJwYXRoLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc3BsaXRTdWJwYXRoKGxpbms6IHN0cmluZyk6IFNwbGl0U3VicGF0aFJlc3VsdCB7XG4gIGNvbnN0IFNVQlBBVEhfU0VQQVJBVE9SID0gJyMnO1xuICBjb25zdCBbbGlua1BhdGggPSAnJywgc3VicGF0aF0gPSBub3JtYWxpemUobGluaykuc3BsaXQoU1VCUEFUSF9TRVBBUkFUT1IpO1xuICByZXR1cm4ge1xuICAgIGxpbmtQYXRoLFxuICAgIHN1YnBhdGg6IHN1YnBhdGggPyBTVUJQQVRIX1NFUEFSQVRPUiArIHN1YnBhdGggOiB1bmRlZmluZWRcbiAgfTtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciB1cGRhdGluZyBsaW5rcyBpbiBhIGZpbGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlTGlua3NJbkZpbGVPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBvYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIGZpbGUgdG8gdXBkYXRlIHRoZSBsaW5rcyBpbi5cbiAgICovXG4gIHBhdGhPckZpbGU6IFBhdGhPckZpbGU7XG5cbiAgLyoqXG4gICAqIFRoZSBvbGQgcGF0aCBvZiB0aGUgZmlsZS5cbiAgICovXG4gIG9sZFBhdGhPckZpbGU6IFBhdGhPckZpbGU7XG5cbiAgLyoqXG4gICAqIEEgbWFwIG9mIG9sZCBhbmQgbmV3IHBhdGhzIGZvciByZW5hbWluZyBsaW5rcy5cbiAgICovXG4gIHJlbmFtZU1hcDogTWFwPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBmb3JjZSB0aGUgbGlua3MgdG8gYmUgaW4gTWFya2Rvd24gZm9ybWF0LlxuICAgKi9cbiAgZm9yY2VNYXJrZG93bkxpbmtzPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogV2hldGhlciB0byB1cGRhdGUgb25seSBlbWJlZGRlZCBsaW5rcy5cbiAgICovXG4gIGVtYmVkT25seUxpbmtzPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBVcGRhdGVzIHRoZSBsaW5rcyBpbiBhIGZpbGUgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBhcmFtZXRlcnMuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgdXBkYXRpbmcgdGhlIGxpbmtzLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgbGlua3MgYXJlIHVwZGF0ZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB1cGRhdGVMaW5rc0luRmlsZShvcHRpb25zOiBVcGRhdGVMaW5rc0luRmlsZU9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3Qge1xuICAgIGFwcCxcbiAgICBwYXRoT3JGaWxlLFxuICAgIG9sZFBhdGhPckZpbGUsXG4gICAgcmVuYW1lTWFwLFxuICAgIGZvcmNlTWFya2Rvd25MaW5rcyxcbiAgICBlbWJlZE9ubHlMaW5rc1xuICB9ID0gb3B0aW9ucztcbiAgYXdhaXQgZWRpdExpbmtzKGFwcCwgcGF0aE9yRmlsZSwgKGxpbmspID0+IHtcbiAgICBjb25zdCBpc0VtYmVkTGluayA9IGxpbmsub3JpZ2luYWwuc3RhcnRzV2l0aCgnIScpO1xuICAgIGlmIChlbWJlZE9ubHlMaW5rcyAhPT0gdW5kZWZpbmVkICYmIGVtYmVkT25seUxpbmtzICE9PSBpc0VtYmVkTGluaykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICByZXR1cm4gY29udmVydExpbmsoYXBwLCBsaW5rLCBwYXRoT3JGaWxlLCBvbGRQYXRoT3JGaWxlLCByZW5hbWVNYXAsIGZvcmNlTWFya2Rvd25MaW5rcyk7XG4gIH0pO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgbGluayB0byBhIG5ldyBwYXRoLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcGFyYW0gbGluayAtIFRoZSByZWZlcmVuY2UgY2FjaGUgZm9yIHRoZSBsaW5rLlxuICogQHBhcmFtIHNvdXJjZSAtIFRoZSBzb3VyY2UgZmlsZS5cbiAqIEBwYXJhbSBvbGRQYXRoT3JGaWxlIC0gVGhlIG9sZCBwYXRoIG9mIHRoZSBsaW5rLlxuICogQHBhcmFtIHJlbmFtZU1hcCAtIEEgbWFwIG9mIG9sZCBwYXRocyB0byBuZXcgcGF0aHMgZm9yIHJlbmFtaW5nLlxuICogQHBhcmFtIGZvcmNlTWFya2Rvd25MaW5rcyAtIE9wdGlvbmFsIGZsYWcgdG8gZm9yY2UgbWFya2Rvd24gbGlua3MuXG4gKiBAcmV0dXJucyBUaGUgY29udmVydGVkIGxpbmsuXG4gKi9cbmZ1bmN0aW9uIGNvbnZlcnRMaW5rKGFwcDogQXBwLCBsaW5rOiBSZWZlcmVuY2VDYWNoZSwgc291cmNlOiBQYXRoT3JGaWxlLCBvbGRQYXRoT3JGaWxlOiBQYXRoT3JGaWxlLCByZW5hbWVNYXA6IE1hcDxzdHJpbmcsIHN0cmluZz4sIGZvcmNlTWFya2Rvd25MaW5rcz86IGJvb2xlYW4pOiBzdHJpbmcge1xuICBvbGRQYXRoT3JGaWxlIHx8PSBnZXRQYXRoKHNvdXJjZSk7XG4gIHJldHVybiB1cGRhdGVMaW5rKHtcbiAgICBhcHAsXG4gICAgbGluayxcbiAgICBwYXRoT3JGaWxlOiBleHRyYWN0TGlua0ZpbGUoYXBwLCBsaW5rLCBvbGRQYXRoT3JGaWxlKSxcbiAgICBvbGRQYXRoT3JGaWxlLFxuICAgIHNvdXJjZVBhdGhPckZpbGU6IHNvdXJjZSxcbiAgICByZW5hbWVNYXAsXG4gICAgZm9yY2VNYXJrZG93bkxpbmtzXG4gIH0pO1xufVxuXG4vKipcbiAqIEV4dHJhY3RzIHRoZSBmaWxlIGFzc29jaWF0ZWQgd2l0aCBhIGxpbmsuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBsaW5rIC0gVGhlIHJlZmVyZW5jZSBjYWNoZSBmb3IgdGhlIGxpbmsuXG4gKiBAcGFyYW0gb2xkUGF0aE9yRmlsZSAtIFRoZSBvbGQgcGF0aCBvZiB0aGUgZmlsZS5cbiAqIEByZXR1cm5zIFRoZSBmaWxlIGFzc29jaWF0ZWQgd2l0aCB0aGUgbGluaywgb3IgbnVsbCBpZiBub3QgZm91bmQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBleHRyYWN0TGlua0ZpbGUoYXBwOiBBcHAsIGxpbms6IFJlZmVyZW5jZUNhY2hlLCBvbGRQYXRoT3JGaWxlOiBQYXRoT3JGaWxlKTogVEZpbGUgfCBudWxsIHtcbiAgY29uc3QgeyBsaW5rUGF0aCB9ID0gc3BsaXRTdWJwYXRoKGxpbmsubGluayk7XG4gIHJldHVybiBhcHAubWV0YWRhdGFDYWNoZS5nZXRGaXJzdExpbmtwYXRoRGVzdChsaW5rUGF0aCwgZ2V0UGF0aChvbGRQYXRoT3JGaWxlKSk7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgdXBkYXRpbmcgYSBsaW5rLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZUxpbmtPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIHJlZmVyZW5jZSBjYWNoZSBmb3IgdGhlIGxpbmsuXG4gICAqL1xuICBsaW5rOiBSZWZlcmVuY2VDYWNoZTtcblxuICAvKipcbiAgICogVGhlIGZpbGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBsaW5rLlxuICAgKi9cbiAgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBvbGQgcGF0aCBvZiB0aGUgZmlsZS5cbiAgICovXG4gIG9sZFBhdGhPckZpbGU6IFBhdGhPckZpbGU7XG5cbiAgLyoqXG4gICAqIFRoZSBzb3VyY2UgZmlsZSBjb250YWluaW5nIHRoZSBsaW5rLlxuICAgKi9cbiAgc291cmNlUGF0aE9yRmlsZTogUGF0aE9yRmlsZTtcblxuICAvKipcbiAgICogQSBtYXAgb2Ygb2xkIGFuZCBuZXcgZmlsZSBwYXRocy5cbiAgICovXG4gIHJlbmFtZU1hcDogTWFwPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBmb3JjZSBtYXJrZG93biBsaW5rcy5cbiAgICovXG4gIGZvcmNlTWFya2Rvd25MaW5rcz86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogVXBkYXRlcyBhIGxpbmsgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBhcmFtZXRlcnMuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgdXBkYXRpbmcgdGhlIGxpbmsuXG4gKiBAcmV0dXJucyBUaGUgdXBkYXRlZCBsaW5rLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlTGluayhvcHRpb25zOiBVcGRhdGVMaW5rT3B0aW9ucyk6IHN0cmluZyB7XG4gIGNvbnN0IHtcbiAgICBhcHAsXG4gICAgbGluayxcbiAgICBwYXRoT3JGaWxlLFxuICAgIG9sZFBhdGhPckZpbGUsXG4gICAgc291cmNlUGF0aE9yRmlsZTogc291cmNlLFxuICAgIHJlbmFtZU1hcCxcbiAgICBmb3JjZU1hcmtkb3duTGlua3NcbiAgfSA9IG9wdGlvbnM7XG4gIGlmICghcGF0aE9yRmlsZSkge1xuICAgIHJldHVybiBsaW5rLm9yaWdpbmFsO1xuICB9XG4gIGxldCBmaWxlID0gZ2V0RmlsZShhcHAsIHBhdGhPckZpbGUpO1xuICBjb25zdCBzb3VyY2VQYXRoID0gZ2V0UGF0aChzb3VyY2UpO1xuICBjb25zdCBvbGRQYXRoID0gZ2V0UGF0aChvbGRQYXRoT3JGaWxlKTtcbiAgY29uc3QgaXNFbWJlZCA9IGxpbmsub3JpZ2luYWwuc3RhcnRzV2l0aCgnIScpO1xuICBjb25zdCBpc1dpa2lsaW5rXG4gICAgPSBsaW5rLm9yaWdpbmFsLmluY2x1ZGVzKCdbWycpICYmIGZvcmNlTWFya2Rvd25MaW5rcyAhPT0gdHJ1ZTtcbiAgY29uc3QgeyBzdWJwYXRoIH0gPSBzcGxpdFN1YnBhdGgobGluay5saW5rKTtcblxuICBjb25zdCBuZXdQYXRoID0gcmVuYW1lTWFwLmdldChmaWxlLnBhdGgpO1xuICBjb25zdCBhbGlhcyA9IGdldEFsaWFzKHtcbiAgICBhcHAsXG4gICAgZGlzcGxheVRleHQ6IGxpbmsuZGlzcGxheVRleHQsXG4gICAgZmlsZTogcGF0aE9yRmlsZSxcbiAgICBvdGhlclBhdGhzOiBbb2xkUGF0aCwgbmV3UGF0aF0sXG4gICAgc291cmNlUGF0aCxcbiAgICBpc1dpa2lsaW5rXG4gIH0pO1xuXG4gIGlmIChuZXdQYXRoKSB7XG4gICAgZmlsZSA9IGNyZWF0ZVRGaWxlSW5zdGFuY2UoYXBwLnZhdWx0LCBuZXdQYXRoKTtcbiAgfVxuXG4gIGNvbnN0IG5ld0xpbmsgPSBnZW5lcmF0ZU1hcmtkb3duTGluayh7XG4gICAgYXBwLFxuICAgIHBhdGhPckZpbGU6IGZpbGUsXG4gICAgc291cmNlUGF0aE9yRmlsZTogc291cmNlUGF0aCxcbiAgICBzdWJwYXRoLFxuICAgIGFsaWFzLFxuICAgIGlzRW1iZWQsXG4gICAgaXNXaWtpbGlua1xuICB9KTtcbiAgcmV0dXJuIG5ld0xpbms7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgZ2V0dGluZyB0aGUgYWxpYXMgb2YgYSBsaW5rLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdldEFsaWFzT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICAgKi9cbiAgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFRoZSBkaXNwbGF5IHRleHQgb2YgdGhlIGxpbmsuXG4gICAqL1xuICBkaXNwbGF5VGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCBvciBmaWxlIG9mIHRoZSBsaW5rLlxuICAgKi9cbiAgZmlsZTogUGF0aE9yRmlsZTtcblxuICAvKipcbiAgICogT3RoZXIgcGF0aHMgYXNzb2NpYXRlZCB3aXRoIHRoZSBsaW5rLlxuICAgKi9cbiAgb3RoZXJQYXRoczogKHN0cmluZyB8IHVuZGVmaW5lZClbXTtcblxuICAvKipcbiAgICogVGhlIHNvdXJjZSBwYXRoIG9mIHRoZSBsaW5rLlxuICAgKi9cbiAgc291cmNlUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGxpbmsgaXMgYSB3aWtpbGluay5cbiAgICovXG4gIGlzV2lraWxpbms/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgYWxpYXMgZm9yIGEgZ2l2ZW4gbGluay5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciByZXRyaWV2aW5nIHRoZSBhbGlhcy5cbiAqIEByZXR1cm5zIFRoZSBhbGlhcyBvZiB0aGUgbGluaywgb3IgdW5kZWZpbmVkIGlmIHNob3VsZCBiZSBkZWZhdWx0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWxpYXMob3B0aW9uczogR2V0QWxpYXNPcHRpb25zKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3Qge1xuICAgIGFwcCxcbiAgICBkaXNwbGF5VGV4dCxcbiAgICBmaWxlOiBwYXRoT3JGaWxlLFxuICAgIG90aGVyUGF0aHMsXG4gICAgc291cmNlUGF0aCxcbiAgICBpc1dpa2lsaW5rXG4gIH0gPSBvcHRpb25zO1xuICBpZiAoaXNXaWtpbGluayA9PT0gZmFsc2UpIHtcbiAgICByZXR1cm4gZGlzcGxheVRleHQ7XG4gIH1cblxuICBjb25zdCBmaWxlID0gZ2V0RmlsZShhcHAsIHBhdGhPckZpbGUpO1xuXG4gIGlmICghZGlzcGxheVRleHQpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3QgY2xlYW5EaXNwbGF5VGV4dCA9IG5vcm1hbGl6ZVBhdGgoZGlzcGxheVRleHQuc3BsaXQoJyA+ICcpWzBdID8/IHRocm93RXhwcmVzc2lvbihuZXcgRXJyb3IoJ0ludmFsaWQgZGlzcGxheSB0ZXh0JykpKS5yZXBsYWNlKC9cXC5cXC8vZywgJycpO1xuXG4gIGZvciAoY29uc3QgcGF0aCBvZiBbZmlsZS5wYXRoLCAuLi5vdGhlclBhdGhzXSkge1xuICAgIGlmICghcGF0aCkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGNvbnN0IGV4dGVuc2lvbiA9IGV4dG5hbWUocGF0aCk7XG4gICAgY29uc3QgZmlsZU5hbWVXaXRoRXh0ZW5zaW9uID0gYmFzZW5hbWUocGF0aCk7XG4gICAgY29uc3QgZmlsZU5hbWVXaXRob3V0RXh0ZW5zaW9uID0gYmFzZW5hbWUocGF0aCwgZXh0ZW5zaW9uKTtcbiAgICBpZiAoY2xlYW5EaXNwbGF5VGV4dCA9PT0gcGF0aCB8fCBjbGVhbkRpc3BsYXlUZXh0ID09PSBmaWxlTmFtZVdpdGhFeHRlbnNpb24gfHwgY2xlYW5EaXNwbGF5VGV4dCA9PT0gZmlsZU5hbWVXaXRob3V0RXh0ZW5zaW9uKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIGZvciAoY29uc3Qgb21pdE1kRXh0ZW5zaW9uIG9mIFt0cnVlLCBmYWxzZV0pIHtcbiAgICBjb25zdCBsaW5rVGV4dCA9IGFwcC5tZXRhZGF0YUNhY2hlLmZpbGVUb0xpbmt0ZXh0KGZpbGUsIHNvdXJjZVBhdGgsIG9taXRNZEV4dGVuc2lvbik7XG4gICAgaWYgKGNsZWFuRGlzcGxheVRleHQgPT09IGxpbmtUZXh0KSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkaXNwbGF5VGV4dDtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBnZW5lcmF0aW5nIGEgbWFya2Rvd24gbGluay5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZW5lcmF0ZU1hcmtkb3duTGlua09wdGlvbnMge1xuICAvKipcbiAgICogVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAgICovXG4gIGFwcDogQXBwO1xuXG4gIC8qKlxuICAgKiBUaGUgZmlsZSB0byBsaW5rIHRvLlxuICAgKi9cbiAgcGF0aE9yRmlsZTogUGF0aE9yRmlsZTtcblxuICAvKipcbiAgICogVGhlIHNvdXJjZSBwYXRoIG9mIHRoZSBsaW5rLlxuICAgKi9cbiAgc291cmNlUGF0aE9yRmlsZTogUGF0aE9yRmlsZTtcblxuICAvKipcbiAgICogVGhlIHN1YnBhdGggb2YgdGhlIGxpbmsuXG4gICAqL1xuICBzdWJwYXRoPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgYWxpYXMgZm9yIHRoZSBsaW5rLlxuICAgKi9cbiAgYWxpYXM/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgbGluayBzaG91bGQgYmUgZW1iZWRkZWQuIElmIG5vdCBwcm92aWRlZCwgaXQgd2lsbCBiZSBpbmZlcnJlZCBiYXNlZCBvbiB0aGUgZmlsZSB0eXBlLlxuICAgKi9cbiAgaXNFbWJlZD86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgbGluayBzaG91bGQgYmUgYSB3aWtpbGluay4gSWYgbm90IHByb3ZpZGVkLCBpdCB3aWxsIGJlIGluZmVycmVkIGJhc2VkIG9uIHRoZSBPYnNpZGlhbiBzZXR0aW5ncy5cbiAgICovXG4gIGlzV2lraWxpbms/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGxpbmsgc2hvdWxkIGJlIHJlbGF0aXZlLiBJZiBub3QgcHJvdmlkZWQgb3IgYGZhbHNlYCwgaXQgd2lsbCBiZSBpbmZlcnJlZCBiYXNlZCBvbiB0aGUgT2JzaWRpYW4gc2V0dGluZ3MuXG4gICAqL1xuICBmb3JjZVJlbGF0aXZlUGF0aD86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgbGluayBzaG91bGQgdXNlIGEgbGVhZGluZyBkb3QuIERlZmF1bHRzIHRvIGBmYWxzZWAuIEhhcyBubyBlZmZlY3QgaWYgYGlzV2lraWxpbmtgIGlzIGB0cnVlYCBvciBgaXNSZWxhdGl2ZWAgaXMgYGZhbHNlYC5cbiAgICovXG4gIHVzZUxlYWRpbmdEb3Q/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGxpbmsgc2hvdWxkIHVzZSBhbmdsZSBicmFja2V0cy4gRGVmYXVsdHMgdG8gYGZhbHNlYC4gSGFzIG5vIGVmZmVjdCBpZiBgaXNXaWtpbGlua2AgaXMgYHRydWVgXG4gICAqL1xuICB1c2VBbmdsZUJyYWNrZXRzPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZXMgYSBtYXJrZG93biBsaW5rIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIGdlbmVyYXRpbmcgdGhlIG1hcmtkb3duIGxpbmsuXG4gKiBAcmV0dXJucyBUaGUgZ2VuZXJhdGVkIG1hcmtkb3duIGxpbmsuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZU1hcmtkb3duTGluayhvcHRpb25zOiBHZW5lcmF0ZU1hcmtkb3duTGlua09wdGlvbnMpOiBzdHJpbmcge1xuICBjb25zdCB7IGFwcCB9ID0gb3B0aW9ucztcbiAgY29uc3QgZmlsZSA9IGdldEZpbGUoYXBwLCBvcHRpb25zLnBhdGhPckZpbGUpO1xuXG4gIHJldHVybiB0ZW1wUmVnaXN0ZXJGaWxlQW5kUnVuKGFwcCwgZmlsZSwgKCkgPT4ge1xuICAgIGNvbnN0IHNvdXJjZVBhdGggPSBnZXRQYXRoKG9wdGlvbnMuc291cmNlUGF0aE9yRmlsZSk7XG4gICAgY29uc3Qgc3VicGF0aCA9IG9wdGlvbnMuc3VicGF0aCA/PyAnJztcbiAgICBsZXQgYWxpYXMgPSBvcHRpb25zLmFsaWFzID8/ICcnO1xuICAgIGNvbnN0IGlzRW1iZWQgPSBvcHRpb25zLmlzRW1iZWQgPz8gIWlzTWFya2Rvd25GaWxlKGZpbGUpO1xuICAgIGNvbnN0IGlzV2lraWxpbmsgPSBvcHRpb25zLmlzV2lraWxpbmsgPz8gc2hvdWxkVXNlV2lraWxpbmtzKGFwcCk7XG4gICAgY29uc3QgZm9yY2VSZWxhdGl2ZVBhdGggPSBvcHRpb25zLmZvcmNlUmVsYXRpdmVQYXRoID8/IHNob3VsZFVzZVJlbGF0aXZlTGlua3MoYXBwKTtcblxuICAgIGxldCBsaW5rVGV4dCA9IGZpbGUucGF0aCA9PT0gc291cmNlUGF0aCAmJiBzdWJwYXRoXG4gICAgICA/IHN1YnBhdGhcbiAgICAgIDogZm9yY2VSZWxhdGl2ZVBhdGhcbiAgICAgICAgPyByZWxhdGl2ZShkaXJuYW1lKHNvdXJjZVBhdGgpLCBpc1dpa2lsaW5rID8gdHJpbU1hcmtkb3duRXh0ZW5zaW9uKGZpbGUpIDogZmlsZS5wYXRoKSArIHN1YnBhdGhcbiAgICAgICAgOiBhcHAubWV0YWRhdGFDYWNoZS5maWxlVG9MaW5rdGV4dChmaWxlLCBzb3VyY2VQYXRoLCBpc1dpa2lsaW5rKSArIHN1YnBhdGg7XG5cbiAgICBpZiAoZm9yY2VSZWxhdGl2ZVBhdGggJiYgb3B0aW9ucy51c2VMZWFkaW5nRG90ICYmICFsaW5rVGV4dC5zdGFydHNXaXRoKCcuJykgJiYgIWxpbmtUZXh0LnN0YXJ0c1dpdGgoJyMnKSkge1xuICAgICAgbGlua1RleHQgPSAnLi8nICsgbGlua1RleHQ7XG4gICAgfVxuXG4gICAgaWYgKCFpc1dpa2lsaW5rKSB7XG4gICAgICBpZiAob3B0aW9ucy51c2VBbmdsZUJyYWNrZXRzKSB7XG4gICAgICAgIGxpbmtUZXh0ID0gYDwke2xpbmtUZXh0fT5gO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGlua1RleHQgPSBsaW5rVGV4dC5yZXBsYWNlKFNQRUNJQUxfTElOS19TWU1CT0xTX1JFR0VYUCwgZnVuY3Rpb24gKHNwZWNpYWxMaW5rU3ltYm9sKSB7XG4gICAgICAgICAgcmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChzcGVjaWFsTGlua1N5bWJvbCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWlzRW1iZWQpIHtcbiAgICAgICAgcmV0dXJuIGBbJHthbGlhcyB8fCBmaWxlLmJhc2VuYW1lfV0oJHtsaW5rVGV4dH0pYDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBgIVske2FsaWFzfV0oJHtsaW5rVGV4dH0pYDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGFsaWFzICYmIGFsaWFzLnRvTG93ZXJDYXNlKCkgPT09IGxpbmtUZXh0LnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgbGlua1RleHQgPSBhbGlhcztcbiAgICAgICAgYWxpYXMgPSAnJztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIChpc0VtYmVkID8gJyEnIDogJycpICsgKGFsaWFzID8gYFtbJHtsaW5rVGV4dH18JHthbGlhc31dXWAgOiBgW1ske2xpbmtUZXh0fV1dYCk7XG4gICAgfVxuICB9KTtcbn1cblxuLyoqXG4gKiBFZGl0cyB0aGUgbGlua3MgaW4gdGhlIHNwZWNpZmllZCBmaWxlIG9yIHBhdGggdXNpbmcgdGhlIHByb3ZpZGVkIGxpbmsgY29udmVydGVyIGZ1bmN0aW9uLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGZpbGUgdG8gZWRpdCB0aGUgbGlua3MgaW4uXG4gKiBAcGFyYW0gbGlua0NvbnZlcnRlciAtIFRoZSBmdW5jdGlvbiB0aGF0IGNvbnZlcnRzIGVhY2ggbGluay5cbiAqIEBwYXJhbSByZXRyeU9wdGlvbnMgLSBPcHRpb25hbCBvcHRpb25zIGZvciByZXRyeWluZyB0aGUgb3BlcmF0aW9uLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgbGlua3MgaGF2ZSBiZWVuIGVkaXRlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVkaXRMaW5rcyhcbiAgYXBwOiBBcHAsXG4gIHBhdGhPckZpbGU6IFBhdGhPckZpbGUsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8taW52YWxpZC12b2lkLXR5cGVcbiAgbGlua0NvbnZlcnRlcjogKGxpbms6IFJlZmVyZW5jZUNhY2hlKSA9PiBNYXliZVByb21pc2U8c3RyaW5nIHwgdm9pZD4sXG4gIHJldHJ5T3B0aW9uczogUGFydGlhbDxSZXRyeU9wdGlvbnM+ID0ge30pOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgYXBwbHlGaWxlQ2hhbmdlcyhhcHAsIHBhdGhPckZpbGUsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBjYWNoZSA9IGF3YWl0IGdldENhY2hlU2FmZShhcHAsIHBhdGhPckZpbGUpO1xuICAgIGlmICghY2FjaGUpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCBjaGFuZ2VzOiBGaWxlQ2hhbmdlW10gPSBbXTtcblxuICAgIGZvciAoY29uc3QgbGluayBvZiBnZXRBbGxMaW5rcyhjYWNoZSkpIHtcbiAgICAgIGNvbnN0IG5ld0NvbnRlbnQgPSBhd2FpdCBsaW5rQ29udmVydGVyKGxpbmspO1xuICAgICAgaWYgKG5ld0NvbnRlbnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgY2hhbmdlcy5wdXNoKHtcbiAgICAgICAgc3RhcnRJbmRleDogbGluay5wb3NpdGlvbi5zdGFydC5vZmZzZXQsXG4gICAgICAgIGVuZEluZGV4OiBsaW5rLnBvc2l0aW9uLmVuZC5vZmZzZXQsXG4gICAgICAgIG9sZENvbnRlbnQ6IGxpbmsub3JpZ2luYWwsXG4gICAgICAgIG5ld0NvbnRlbnRcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBjaGFuZ2VzO1xuICB9LCByZXRyeU9wdGlvbnMpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBa0JBLHNCQUE4QjtBQUM5Qiw2QkFBb0M7QUFNcEMsbUJBQWdDO0FBQ2hDLGtCQUtPO0FBQ1Asb0JBQTBCO0FBQzFCLDJCQUlPO0FBQ1AsOEJBR087QUFDUCwyQkFJTztBQUVQLG1CQUF3QjtBQUV4QixtQkFBaUM7QUFsRGpDLElBQUksb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0sTUFBSTtBQUFDLE1BQUcsT0FBTyxlQUFhLFVBQVM7QUFBQyxXQUFPLElBQUksSUFBSSxPQUFPLFNBQVMsSUFBSTtBQUFBLEVBQUM7QUFBQyxTQUFPLFFBQVEsVUFBVSxFQUFFLGNBQWMsVUFBVTtBQUFDLEdBQUc7QUFDNUwsSUFBSSxZQUFZLFdBQVcsU0FBUyxLQUFLO0FBQUEsRUFDdkMsT0FBTyxNQUFJO0FBQUEsRUFDWCxPQUFPLENBQUM7QUFBQSxFQUNSLFlBQVk7QUFDZDtBQW1EQSxNQUFNLDhCQUE4QjtBQXVCN0IsU0FBUyxhQUFhLE1BQWtDO0FBQzdELFFBQU0sb0JBQW9CO0FBQzFCLFFBQU0sQ0FBQyxXQUFXLElBQUksT0FBTyxRQUFJLHlCQUFVLElBQUksRUFBRSxNQUFNLGlCQUFpQjtBQUN4RSxTQUFPO0FBQUEsSUFDTDtBQUFBLElBQ0EsU0FBUyxVQUFVLG9CQUFvQixVQUFVO0FBQUEsRUFDbkQ7QUFDRjtBQTJDQSxl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
@@ -136,6 +136,10 @@ export interface GetAliasOptions {
136
136
  * The source path of the link.
137
137
  */
138
138
  sourcePath: string;
139
+ /**
140
+ * Indicates if the link is a wikilink.
141
+ */
142
+ isWikilink?: boolean;
139
143
  }
140
144
  /**
141
145
  * Retrieves the alias for a given link.
@@ -77,7 +77,7 @@ class ConfirmModal extends import_obsidian.Modal {
77
77
  });
78
78
  Object.assign(okButton.buttonEl.style, this.options.okButtonStyles);
79
79
  const cancelButton = new import_obsidian.ButtonComponent(this.contentEl);
80
- cancelButton.setButtonText(this.options.okButtonText);
80
+ cancelButton.setButtonText(this.options.cancelButtonText);
81
81
  cancelButton.onClick(this.close.bind(this));
82
82
  Object.assign(okButton.buttonEl.style, this.options.okButtonStyles);
83
83
  }
@@ -89,4 +89,4 @@ class ConfirmModal extends import_obsidian.Modal {
89
89
  0 && (module.exports = {
90
90
  confirm
91
91
  });
92
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL01vZGFsL0NvbmZpcm0udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbJ2ltcG9ydC5tZXRhLnVybCddID8/ICgoKT0+e2lmKHR5cGVvZiBfX2ZpbGVuYW1lIT09XCJzdHJpbmdcIil7cmV0dXJuIG5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpfXJldHVybiByZXF1aXJlKFwibm9kZTp1cmxcIikucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKX0pKCk7XG52YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1sncHJvY2VzcyddID8/IHtcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIENvbmZpcm1cbiAqIFV0aWxpdHkgZm9yIGRpc3BsYXlpbmcgY29uZmlybSBtb2RhbHMgaW4gT2JzaWRpYW4uXG4gKlxuICogVGhpcyBtb2R1bGUgZXhwb3J0cyBhIGZ1bmN0aW9uIHRvIGRpc3BsYXkgYSBtb2RhbCB3aXRoIGEgbWVzc2FnZSBpbiBPYnNpZGlhbi4gVGhlIG1vZGFsIGluY2x1ZGVzIFwiT0tcIiBhbmQgXCJDYW5jZWxcIiBidXR0b25zIHRvIGNvbmZpcm0gb3IgY2FuY2VsIHRoZSBhY3Rpb24uXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQge1xuICBCdXR0b25Db21wb25lbnQsXG4gIE1vZGFsXG59IGZyb20gJ29ic2lkaWFuJztcblxuLyoqXG4gKiBUaGUgb3B0aW9ucyBmb3IgdGhlIGNvbmZpcm0gbW9kYWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlybU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAgICovXG4gIGFwcDogQXBwO1xuXG4gIC8qKlxuICAgKiBUaGUgdGl0bGUgb2YgdGhlIG1vZGFsLlxuICAgKi9cbiAgdGl0bGU/OiBzdHJpbmcgfCBEb2N1bWVudEZyYWdtZW50O1xuXG4gIC8qKlxuICAgKiBUaGUgbWVzc2FnZSB0byBkaXNwbGF5IGluIHRoZSBtb2RhbC5cbiAgICovXG4gIG1lc3NhZ2U6IHN0cmluZyB8IERvY3VtZW50RnJhZ21lbnQ7XG5cbiAgLyoqXG4gICAqIFRoZSB0ZXh0IGZvciB0aGUgXCJPS1wiIGJ1dHRvbi5cbiAgICovXG4gIG9rQnV0dG9uVGV4dD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHRleHQgZm9yIHRoZSBcIkNhbmNlbFwiIGJ1dHRvbi5cbiAgICovXG4gIGNhbmNlbEJ1dHRvblRleHQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzdHlsZXMgdG8gYXBwbHkgdG8gdGhlIFwiT0tcIiBidXR0b24uXG4gICAqL1xuICBva0J1dHRvblN0eWxlcz86IFBhcnRpYWw8Q1NTU3R5bGVEZWNsYXJhdGlvbj47XG5cbiAgLyoqXG4gICAqIFRoZSBzdHlsZXMgdG8gYXBwbHkgdG8gdGhlIFwiQ2FuY2VsXCIgYnV0dG9uLlxuICAgKi9cbiAgY2FuY2VsQnV0dG9uU3R5bGVzPzogUGFydGlhbDxDU1NTdHlsZURlY2xhcmF0aW9uPjtcbn1cblxuLyoqXG4gKiBEaXNwbGF5cyBhbiBjb25maXJtIG1vZGFsIGluIE9ic2lkaWFuIHdpdGggYSBzcGVjaWZpZWQgbWVzc2FnZS5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciB0aGUgY29uZmlybSBtb2RhbC5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggYSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgXCJPS1wiIGJ1dHRvbiB3YXMgY2xpY2tlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNvbmZpcm0ob3B0aW9uczogQ29uZmlybU9wdGlvbnMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlPGJvb2xlYW4+KChyZXNvbHZlKSA9PiB7XG4gICAgY29uc3QgbW9kYWwgPSBuZXcgQ29uZmlybU1vZGFsKG9wdGlvbnMsIHJlc29sdmUpO1xuICAgIG1vZGFsLm9wZW4oKTtcbiAgfSk7XG59XG5cbmNsYXNzIENvbmZpcm1Nb2RhbCBleHRlbmRzIE1vZGFsIHtcbiAgcHJpdmF0ZSBvcHRpb25zOiBSZXF1aXJlZDxDb25maXJtT3B0aW9ucz47XG4gIHByaXZhdGUgaXNDb25maXJtZWQgPSBmYWxzZTtcblxuICBwdWJsaWMgY29uc3RydWN0b3Iob3B0aW9uczogQ29uZmlybU9wdGlvbnMsIHByaXZhdGUgcmVzb2x2ZTogKHZhbHVlOiBib29sZWFuKSA9PiB2b2lkKSB7XG4gICAgc3VwZXIob3B0aW9ucy5hcHApO1xuICAgIGNvbnN0IERFRkFVTFRfT1BUSU9OUzogUmVxdWlyZWQ8Q29uZmlybU9wdGlvbnM+ID0ge1xuICAgICAgYXBwOiBvcHRpb25zLmFwcCxcbiAgICAgIHRpdGxlOiAnJyxcbiAgICAgIG1lc3NhZ2U6ICcnLFxuICAgICAgb2tCdXR0b25UZXh0OiAnT0snLFxuICAgICAgY2FuY2VsQnV0dG9uVGV4dDogJ0NhbmNlbCcsXG4gICAgICBva0J1dHRvblN0eWxlczoge1xuICAgICAgICBtYXJnaW5Ub3A6ICcyMHB4JyxcbiAgICAgICAgbWFyZ2luUmlnaHQ6ICcxMHB4J1xuICAgICAgfSxcbiAgICAgIGNhbmNlbEJ1dHRvblN0eWxlczoge31cbiAgICB9O1xuICAgIHRoaXMub3B0aW9ucyA9IHsgLi4uREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zIH07XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25PcGVuKCk6IHZvaWQge1xuICAgIHRoaXMudGl0bGVFbC5zZXRUZXh0KHRoaXMub3B0aW9ucy50aXRsZSk7XG4gICAgY29uc3QgcGFyYWdyYXBoID0gdGhpcy5jb250ZW50RWwuY3JlYXRlRWwoJ3AnKTtcbiAgICBwYXJhZ3JhcGguc2V0VGV4dCh0aGlzLm9wdGlvbnMubWVzc2FnZSk7XG4gICAgY29uc3Qgb2tCdXR0b24gPSBuZXcgQnV0dG9uQ29tcG9uZW50KHRoaXMuY29udGVudEVsKTtcbiAgICBva0J1dHRvbi5zZXRCdXR0b25UZXh0KHRoaXMub3B0aW9ucy5va0J1dHRvblRleHQpO1xuICAgIG9rQnV0dG9uLnNldEN0YSgpO1xuICAgIG9rQnV0dG9uLm9uQ2xpY2soKCkgPT4ge1xuICAgICAgdGhpcy5pc0NvbmZpcm1lZCA9IHRydWU7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfSk7XG4gICAgT2JqZWN0LmFzc2lnbihva0J1dHRvbi5idXR0b25FbC5zdHlsZSwgdGhpcy5vcHRpb25zLm9rQnV0dG9uU3R5bGVzKTtcblxuICAgIGNvbnN0IGNhbmNlbEJ1dHRvbiA9IG5ldyBCdXR0b25Db21wb25lbnQodGhpcy5jb250ZW50RWwpO1xuICAgIGNhbmNlbEJ1dHRvbi5zZXRCdXR0b25UZXh0KHRoaXMub3B0aW9ucy5va0J1dHRvblRleHQpO1xuICAgIGNhbmNlbEJ1dHRvbi5vbkNsaWNrKHRoaXMuY2xvc2UuYmluZCh0aGlzKSk7XG4gICAgT2JqZWN0LmFzc2lnbihva0J1dHRvbi5idXR0b25FbC5zdHlsZSwgdGhpcy5vcHRpb25zLm9rQnV0dG9uU3R5bGVzKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvbkNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMucmVzb2x2ZSh0aGlzLmlzQ29uZmlybWVkKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBY0Esc0JBR087QUFqQlAsSUFBSSxvQkFBb0IsV0FBVyxpQkFBaUIsTUFBTSxNQUFJO0FBQUMsTUFBRyxPQUFPLGVBQWEsVUFBUztBQUFDLFdBQU8sSUFBSSxJQUFJLE9BQU8sU0FBUyxJQUFJO0FBQUEsRUFBQztBQUFDLFNBQU8sUUFBUSxVQUFVLEVBQUUsY0FBYyxVQUFVO0FBQUMsR0FBRztBQUM1TCxJQUFJLFlBQVksV0FBVyxTQUFTLEtBQUs7QUFBQSxFQUN2QyxPQUFPLE1BQUk7QUFBQSxFQUNYLE9BQU8sQ0FBQztBQUFBLEVBQ1IsWUFBWTtBQUNkO0FBNERBLGVBQXNCLFFBQVEsU0FBMkM7QUFDdkUsU0FBTyxJQUFJLFFBQWlCLENBQUMsWUFBWTtBQUN2QyxVQUFNLFFBQVEsSUFBSSxhQUFhLFNBQVMsT0FBTztBQUMvQyxVQUFNLEtBQUs7QUFBQSxFQUNiLENBQUM7QUFDSDtBQUVBLE1BQU0scUJBQXFCLHNCQUFNO0FBQUEsRUFJeEIsWUFBWSxTQUFpQyxTQUFtQztBQUNyRixVQUFNLFFBQVEsR0FBRztBQURpQztBQUVsRCxVQUFNLGtCQUE0QztBQUFBLE1BQ2hELEtBQUssUUFBUTtBQUFBLE1BQ2IsT0FBTztBQUFBLE1BQ1AsU0FBUztBQUFBLE1BQ1QsY0FBYztBQUFBLE1BQ2Qsa0JBQWtCO0FBQUEsTUFDbEIsZ0JBQWdCO0FBQUEsUUFDZCxXQUFXO0FBQUEsUUFDWCxhQUFhO0FBQUEsTUFDZjtBQUFBLE1BQ0Esb0JBQW9CLENBQUM7QUFBQSxJQUN2QjtBQUNBLFNBQUssVUFBVSxFQUFFLEdBQUcsaUJBQWlCLEdBQUcsUUFBUTtBQUFBLEVBQ2xEO0FBQUEsRUFsQlE7QUFBQSxFQUNBLGNBQWM7QUFBQSxFQW1CTixTQUFlO0FBQzdCLFNBQUssUUFBUSxRQUFRLEtBQUssUUFBUSxLQUFLO0FBQ3ZDLFVBQU0sWUFBWSxLQUFLLFVBQVUsU0FBUyxHQUFHO0FBQzdDLGNBQVUsUUFBUSxLQUFLLFFBQVEsT0FBTztBQUN0QyxVQUFNLFdBQVcsSUFBSSxnQ0FBZ0IsS0FBSyxTQUFTO0FBQ25ELGFBQVMsY0FBYyxLQUFLLFFBQVEsWUFBWTtBQUNoRCxhQUFTLE9BQU87QUFDaEIsYUFBUyxRQUFRLE1BQU07QUFDckIsV0FBSyxjQUFjO0FBQ25CLFdBQUssTUFBTTtBQUFBLElBQ2IsQ0FBQztBQUNELFdBQU8sT0FBTyxTQUFTLFNBQVMsT0FBTyxLQUFLLFFBQVEsY0FBYztBQUVsRSxVQUFNLGVBQWUsSUFBSSxnQ0FBZ0IsS0FBSyxTQUFTO0FBQ3ZELGlCQUFhLGNBQWMsS0FBSyxRQUFRLFlBQVk7QUFDcEQsaUJBQWEsUUFBUSxLQUFLLE1BQU0sS0FBSyxJQUFJLENBQUM7QUFDMUMsV0FBTyxPQUFPLFNBQVMsU0FBUyxPQUFPLEtBQUssUUFBUSxjQUFjO0FBQUEsRUFDcEU7QUFBQSxFQUVnQixVQUFnQjtBQUM5QixTQUFLLFFBQVEsS0FBSyxXQUFXO0FBQUEsRUFDL0I7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
92
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL01vZGFsL0NvbmZpcm0udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbJ2ltcG9ydC5tZXRhLnVybCddID8/ICgoKT0+e2lmKHR5cGVvZiBfX2ZpbGVuYW1lIT09XCJzdHJpbmdcIil7cmV0dXJuIG5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpfXJldHVybiByZXF1aXJlKFwibm9kZTp1cmxcIikucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKX0pKCk7XG52YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1sncHJvY2VzcyddID8/IHtcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIENvbmZpcm1cbiAqIFV0aWxpdHkgZm9yIGRpc3BsYXlpbmcgY29uZmlybSBtb2RhbHMgaW4gT2JzaWRpYW4uXG4gKlxuICogVGhpcyBtb2R1bGUgZXhwb3J0cyBhIGZ1bmN0aW9uIHRvIGRpc3BsYXkgYSBtb2RhbCB3aXRoIGEgbWVzc2FnZSBpbiBPYnNpZGlhbi4gVGhlIG1vZGFsIGluY2x1ZGVzIFwiT0tcIiBhbmQgXCJDYW5jZWxcIiBidXR0b25zIHRvIGNvbmZpcm0gb3IgY2FuY2VsIHRoZSBhY3Rpb24uXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQge1xuICBCdXR0b25Db21wb25lbnQsXG4gIE1vZGFsXG59IGZyb20gJ29ic2lkaWFuJztcblxuLyoqXG4gKiBUaGUgb3B0aW9ucyBmb3IgdGhlIGNvbmZpcm0gbW9kYWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlybU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAgICovXG4gIGFwcDogQXBwO1xuXG4gIC8qKlxuICAgKiBUaGUgdGl0bGUgb2YgdGhlIG1vZGFsLlxuICAgKi9cbiAgdGl0bGU/OiBzdHJpbmcgfCBEb2N1bWVudEZyYWdtZW50O1xuXG4gIC8qKlxuICAgKiBUaGUgbWVzc2FnZSB0byBkaXNwbGF5IGluIHRoZSBtb2RhbC5cbiAgICovXG4gIG1lc3NhZ2U6IHN0cmluZyB8IERvY3VtZW50RnJhZ21lbnQ7XG5cbiAgLyoqXG4gICAqIFRoZSB0ZXh0IGZvciB0aGUgXCJPS1wiIGJ1dHRvbi5cbiAgICovXG4gIG9rQnV0dG9uVGV4dD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHRleHQgZm9yIHRoZSBcIkNhbmNlbFwiIGJ1dHRvbi5cbiAgICovXG4gIGNhbmNlbEJ1dHRvblRleHQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzdHlsZXMgdG8gYXBwbHkgdG8gdGhlIFwiT0tcIiBidXR0b24uXG4gICAqL1xuICBva0J1dHRvblN0eWxlcz86IFBhcnRpYWw8Q1NTU3R5bGVEZWNsYXJhdGlvbj47XG5cbiAgLyoqXG4gICAqIFRoZSBzdHlsZXMgdG8gYXBwbHkgdG8gdGhlIFwiQ2FuY2VsXCIgYnV0dG9uLlxuICAgKi9cbiAgY2FuY2VsQnV0dG9uU3R5bGVzPzogUGFydGlhbDxDU1NTdHlsZURlY2xhcmF0aW9uPjtcbn1cblxuLyoqXG4gKiBEaXNwbGF5cyBhbiBjb25maXJtIG1vZGFsIGluIE9ic2lkaWFuIHdpdGggYSBzcGVjaWZpZWQgbWVzc2FnZS5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciB0aGUgY29uZmlybSBtb2RhbC5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggYSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgXCJPS1wiIGJ1dHRvbiB3YXMgY2xpY2tlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNvbmZpcm0ob3B0aW9uczogQ29uZmlybU9wdGlvbnMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlPGJvb2xlYW4+KChyZXNvbHZlKSA9PiB7XG4gICAgY29uc3QgbW9kYWwgPSBuZXcgQ29uZmlybU1vZGFsKG9wdGlvbnMsIHJlc29sdmUpO1xuICAgIG1vZGFsLm9wZW4oKTtcbiAgfSk7XG59XG5cbmNsYXNzIENvbmZpcm1Nb2RhbCBleHRlbmRzIE1vZGFsIHtcbiAgcHJpdmF0ZSBvcHRpb25zOiBSZXF1aXJlZDxDb25maXJtT3B0aW9ucz47XG4gIHByaXZhdGUgaXNDb25maXJtZWQgPSBmYWxzZTtcblxuICBwdWJsaWMgY29uc3RydWN0b3Iob3B0aW9uczogQ29uZmlybU9wdGlvbnMsIHByaXZhdGUgcmVzb2x2ZTogKHZhbHVlOiBib29sZWFuKSA9PiB2b2lkKSB7XG4gICAgc3VwZXIob3B0aW9ucy5hcHApO1xuICAgIGNvbnN0IERFRkFVTFRfT1BUSU9OUzogUmVxdWlyZWQ8Q29uZmlybU9wdGlvbnM+ID0ge1xuICAgICAgYXBwOiBvcHRpb25zLmFwcCxcbiAgICAgIHRpdGxlOiAnJyxcbiAgICAgIG1lc3NhZ2U6ICcnLFxuICAgICAgb2tCdXR0b25UZXh0OiAnT0snLFxuICAgICAgY2FuY2VsQnV0dG9uVGV4dDogJ0NhbmNlbCcsXG4gICAgICBva0J1dHRvblN0eWxlczoge1xuICAgICAgICBtYXJnaW5Ub3A6ICcyMHB4JyxcbiAgICAgICAgbWFyZ2luUmlnaHQ6ICcxMHB4J1xuICAgICAgfSxcbiAgICAgIGNhbmNlbEJ1dHRvblN0eWxlczoge31cbiAgICB9O1xuICAgIHRoaXMub3B0aW9ucyA9IHsgLi4uREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zIH07XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25PcGVuKCk6IHZvaWQge1xuICAgIHRoaXMudGl0bGVFbC5zZXRUZXh0KHRoaXMub3B0aW9ucy50aXRsZSk7XG4gICAgY29uc3QgcGFyYWdyYXBoID0gdGhpcy5jb250ZW50RWwuY3JlYXRlRWwoJ3AnKTtcbiAgICBwYXJhZ3JhcGguc2V0VGV4dCh0aGlzLm9wdGlvbnMubWVzc2FnZSk7XG4gICAgY29uc3Qgb2tCdXR0b24gPSBuZXcgQnV0dG9uQ29tcG9uZW50KHRoaXMuY29udGVudEVsKTtcbiAgICBva0J1dHRvbi5zZXRCdXR0b25UZXh0KHRoaXMub3B0aW9ucy5va0J1dHRvblRleHQpO1xuICAgIG9rQnV0dG9uLnNldEN0YSgpO1xuICAgIG9rQnV0dG9uLm9uQ2xpY2soKCkgPT4ge1xuICAgICAgdGhpcy5pc0NvbmZpcm1lZCA9IHRydWU7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfSk7XG4gICAgT2JqZWN0LmFzc2lnbihva0J1dHRvbi5idXR0b25FbC5zdHlsZSwgdGhpcy5vcHRpb25zLm9rQnV0dG9uU3R5bGVzKTtcblxuICAgIGNvbnN0IGNhbmNlbEJ1dHRvbiA9IG5ldyBCdXR0b25Db21wb25lbnQodGhpcy5jb250ZW50RWwpO1xuICAgIGNhbmNlbEJ1dHRvbi5zZXRCdXR0b25UZXh0KHRoaXMub3B0aW9ucy5jYW5jZWxCdXR0b25UZXh0KTtcbiAgICBjYW5jZWxCdXR0b24ub25DbGljayh0aGlzLmNsb3NlLmJpbmQodGhpcykpO1xuICAgIE9iamVjdC5hc3NpZ24ob2tCdXR0b24uYnV0dG9uRWwuc3R5bGUsIHRoaXMub3B0aW9ucy5va0J1dHRvblN0eWxlcyk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25DbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlc29sdmUodGhpcy5pc0NvbmZpcm1lZCk7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWNBLHNCQUdPO0FBakJQLElBQUksb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0sTUFBSTtBQUFDLE1BQUcsT0FBTyxlQUFhLFVBQVM7QUFBQyxXQUFPLElBQUksSUFBSSxPQUFPLFNBQVMsSUFBSTtBQUFBLEVBQUM7QUFBQyxTQUFPLFFBQVEsVUFBVSxFQUFFLGNBQWMsVUFBVTtBQUFDLEdBQUc7QUFDNUwsSUFBSSxZQUFZLFdBQVcsU0FBUyxLQUFLO0FBQUEsRUFDdkMsT0FBTyxNQUFJO0FBQUEsRUFDWCxPQUFPLENBQUM7QUFBQSxFQUNSLFlBQVk7QUFDZDtBQTREQSxlQUFzQixRQUFRLFNBQTJDO0FBQ3ZFLFNBQU8sSUFBSSxRQUFpQixDQUFDLFlBQVk7QUFDdkMsVUFBTSxRQUFRLElBQUksYUFBYSxTQUFTLE9BQU87QUFDL0MsVUFBTSxLQUFLO0FBQUEsRUFDYixDQUFDO0FBQ0g7QUFFQSxNQUFNLHFCQUFxQixzQkFBTTtBQUFBLEVBSXhCLFlBQVksU0FBaUMsU0FBbUM7QUFDckYsVUFBTSxRQUFRLEdBQUc7QUFEaUM7QUFFbEQsVUFBTSxrQkFBNEM7QUFBQSxNQUNoRCxLQUFLLFFBQVE7QUFBQSxNQUNiLE9BQU87QUFBQSxNQUNQLFNBQVM7QUFBQSxNQUNULGNBQWM7QUFBQSxNQUNkLGtCQUFrQjtBQUFBLE1BQ2xCLGdCQUFnQjtBQUFBLFFBQ2QsV0FBVztBQUFBLFFBQ1gsYUFBYTtBQUFBLE1BQ2Y7QUFBQSxNQUNBLG9CQUFvQixDQUFDO0FBQUEsSUFDdkI7QUFDQSxTQUFLLFVBQVUsRUFBRSxHQUFHLGlCQUFpQixHQUFHLFFBQVE7QUFBQSxFQUNsRDtBQUFBLEVBbEJRO0FBQUEsRUFDQSxjQUFjO0FBQUEsRUFtQk4sU0FBZTtBQUM3QixTQUFLLFFBQVEsUUFBUSxLQUFLLFFBQVEsS0FBSztBQUN2QyxVQUFNLFlBQVksS0FBSyxVQUFVLFNBQVMsR0FBRztBQUM3QyxjQUFVLFFBQVEsS0FBSyxRQUFRLE9BQU87QUFDdEMsVUFBTSxXQUFXLElBQUksZ0NBQWdCLEtBQUssU0FBUztBQUNuRCxhQUFTLGNBQWMsS0FBSyxRQUFRLFlBQVk7QUFDaEQsYUFBUyxPQUFPO0FBQ2hCLGFBQVMsUUFBUSxNQUFNO0FBQ3JCLFdBQUssY0FBYztBQUNuQixXQUFLLE1BQU07QUFBQSxJQUNiLENBQUM7QUFDRCxXQUFPLE9BQU8sU0FBUyxTQUFTLE9BQU8sS0FBSyxRQUFRLGNBQWM7QUFFbEUsVUFBTSxlQUFlLElBQUksZ0NBQWdCLEtBQUssU0FBUztBQUN2RCxpQkFBYSxjQUFjLEtBQUssUUFBUSxnQkFBZ0I7QUFDeEQsaUJBQWEsUUFBUSxLQUFLLE1BQU0sS0FBSyxJQUFJLENBQUM7QUFDMUMsV0FBTyxPQUFPLFNBQVMsU0FBUyxPQUFPLEtBQUssUUFBUSxjQUFjO0FBQUEsRUFDcEU7QUFBQSxFQUVnQixVQUFnQjtBQUM5QixTQUFLLFFBQVEsS0FBSyxXQUFXO0FBQUEsRUFDL0I7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "obsidian-dev-utils",
3
- "version": "3.4.0",
3
+ "version": "3.5.0",
4
4
  "description": "This is the collection of useful functions that you can use for your Obsidian plugin development",
5
5
  "main": "./dist/lib/index.cjs",
6
6
  "types": "./dist/lib/index.d.ts",