obsidian-dev-utils 13.7.2 → 13.8.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.
@@ -68,7 +68,7 @@ var import_ObsidianSettings = require('./ObsidianSettings.cjs');
68
68
  var import_Reference = require('./Reference.cjs');
69
69
  var __process = globalThis["process"] ?? {
70
70
  "browser": true,
71
- "cwd": "[[Function0]]",
71
+ "cwd": () => "/",
72
72
  "env": {},
73
73
  "platform": "android"
74
74
  };
@@ -408,4 +408,4 @@ async function updateLinksInFile(options) {
408
408
  updateLink,
409
409
  updateLinksInFile
410
410
  });
411
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL0xpbmsudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzWydwcm9jZXNzJ10gPz8ge1xuICBcImJyb3dzZXJcIjogdHJ1ZSxcbiAgXCJjd2RcIjogXCJbW0Z1bmN0aW9uMF1dXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gTGlua1xuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0aWVzIGZvciBoYW5kbGluZyBhbmQgdXBkYXRpbmcgbGlua3Mgd2l0aGluIE9ic2lkaWFuIHZhdWx0cy4gSXQgaW5jbHVkZXNcbiAqIGZ1bmN0aW9ucyB0byBzcGxpdCBwYXRocywgdXBkYXRlIGxpbmtzIGluIGZpbGVzLCBhbmQgZ2VuZXJhdGUgbWFya2Rvd24gbGlua3Mgd2l0aCB2YXJpb3VzIG9wdGlvbnMuXG4gKiBUaGUgZnVuY3Rpb25zIGludGVncmF0ZSB3aXRoIE9ic2lkaWFuJ3MgQVBJIHRvIGVuc3VyZSB0aGF0IGxpbmtzIGFyZSBtYW5hZ2VkIGNvcnJlY3RseSB3aXRoaW4gdGhlIHZhdWx0LlxuICoqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIExpbmssXG4gIFRleHRcbn0gZnJvbSAnbWRhc3QnO1xuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIFJlZmVyZW5jZSxcbiAgVEZpbGVcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQge1xuICBub3JtYWxpemVQYXRoLFxuICBwYXJzZUxpbmt0ZXh0XG59IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB7IHJlbWFyayB9IGZyb20gJ3JlbWFyayc7XG5pbXBvcnQgcmVtYXJrUGFyc2UgZnJvbSAncmVtYXJrLXBhcnNlJztcbmltcG9ydCB7IHdpa2lMaW5rUGx1Z2luIH0gZnJvbSAncmVtYXJrLXdpa2ktbGluayc7XG5cbmltcG9ydCB0eXBlIHsgTWF5YmVQcm9taXNlIH0gZnJvbSAnLi4vQXN5bmMudHMnO1xuaW1wb3J0IHR5cGUgeyBGaWxlQ2hhbmdlIH0gZnJvbSAnLi9GaWxlQ2hhbmdlLnRzJztcbmltcG9ydCB0eXBlIHsgUGF0aE9yRmlsZSB9IGZyb20gJy4vRmlsZVN5c3RlbS50cyc7XG5pbXBvcnQgdHlwZSB7IFByb2Nlc3NPcHRpb25zIH0gZnJvbSAnLi9WYXVsdC50cyc7XG5cbmltcG9ydCB7XG4gIG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllcyxcbiAgdG9Kc29uXG59IGZyb20gJy4uL09iamVjdC50cyc7XG5pbXBvcnQge1xuICBiYXNlbmFtZSxcbiAgZGlybmFtZSxcbiAgZXh0bmFtZSxcbiAgam9pbixcbiAgcmVsYXRpdmVcbn0gZnJvbSAnLi4vUGF0aC50cyc7XG5pbXBvcnQge1xuICBub3JtYWxpemUsXG4gIHJlcGxhY2VBbGwsXG4gIHRyaW1TdGFydFxufSBmcm9tICcuLi9TdHJpbmcudHMnO1xuaW1wb3J0IHsgaXNVcmwgfSBmcm9tICcuLi91cmwudHMnO1xuaW1wb3J0IHsgYXBwbHlGaWxlQ2hhbmdlcyB9IGZyb20gJy4vRmlsZUNoYW5nZS50cyc7XG5pbXBvcnQge1xuICBnZXRGaWxlLFxuICBnZXRQYXRoLFxuICBpc0NhbnZhc0ZpbGUsXG4gIGlzTWFya2Rvd25GaWxlLFxuICB0cmltTWFya2Rvd25FeHRlbnNpb25cbn0gZnJvbSAnLi9GaWxlU3lzdGVtLnRzJztcbmltcG9ydCB7XG4gIGdldEFsbExpbmtzLFxuICBnZXRCYWNrbGlua3NGb3JGaWxlU2FmZSxcbiAgZ2V0Q2FjaGVTYWZlLFxuICB0ZW1wUmVnaXN0ZXJGaWxlQW5kUnVuXG59IGZyb20gJy4vTWV0YWRhdGFDYWNoZS50cyc7XG5pbXBvcnQge1xuICBzaG91bGRVc2VSZWxhdGl2ZUxpbmtzLFxuICBzaG91bGRVc2VXaWtpbGlua3Ncbn0gZnJvbSAnLi9PYnNpZGlhblNldHRpbmdzLnRzJztcbmltcG9ydCB7IHJlZmVyZW5jZVRvRmlsZUNoYW5nZSB9IGZyb20gJy4vUmVmZXJlbmNlLnRzJztcblxuLyoqXG4gKiBSZWd1bGFyIGV4cHJlc3Npb24gZm9yIHNwZWNpYWwgbGluayBzeW1ib2xzLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29udHJvbC1yZWdleFxuY29uc3QgU1BFQ0lBTF9MSU5LX1NZTUJPTFNfUkVHRVhQID0gL1tcXFxcXFx4MDBcXHgwOFxceDBCXFx4MENcXHgwRS1cXHgxRiBdL2c7XG5cbi8qKlxuICogUmVndWxhciBleHByZXNzaW9uIGZvciBzcGVjaWFsIG1hcmtkb3duIGxpbmsgc3ltYm9scy5cbiAqL1xuY29uc3QgU1BFQ0lBTF9NQVJLRE9XTl9MSU5LX1NZTUJPTFNfUkVHRVggPSAvW1xcXFxbXFxdPD5fKn49YCRdL2c7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgY29udmVydGluZyBhIGxpbmsuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29udmVydExpbmtPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIHJlZmVyZW5jZSBmb3IgdGhlIGxpbmsuXG4gICAqL1xuICBsaW5rOiBSZWZlcmVuY2U7XG5cbiAgLyoqXG4gICAqIFRoZSBzb3VyY2UgZmlsZSBjb250YWluaW5nIHRoZSBsaW5rLlxuICAgKi9cbiAgbmV3U291cmNlUGF0aE9yRmlsZTogUGF0aE9yRmlsZTtcblxuICAvKipcbiAgICogVGhlIG9sZCBwYXRoIG9mIHRoZSBsaW5rLlxuICAgKi9cbiAgb2xkU291cmNlUGF0aE9yRmlsZT86IFBhdGhPckZpbGU7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZm9yY2UgbWFya2Rvd24gbGlua3MuXG4gICAqL1xuICBzaG91bGRGb3JjZU1hcmtkb3duTGlua3M/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHVwZGF0ZSBmaWxlbmFtZSBhbGlhcy4gRGVmYXVsdHMgdG8gYHRydWVgLlxuICAgKi9cbiAgc2hvdWxkVXBkYXRlRmlsZW5hbWVBbGlhcz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogV3JhcHBlciBmb3IgZGVmYXVsdCBvcHRpb25zIGZvciBnZW5lcmF0aW5nIG1hcmtkb3duIGxpbmtzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdlbmVyYXRlTWFya2Rvd25MaW5rRGVmYXVsdE9wdGlvbnNXcmFwcGVyIHtcbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0IG9wdGlvbnMgZm9yIGdlbmVyYXRpbmcgbWFya2Rvd24gbGlua3MuXG4gICAqL1xuICBkZWZhdWx0T3B0aW9uc0ZuOiAoKSA9PiBQYXJ0aWFsPEdlbmVyYXRlTWFya2Rvd25MaW5rT3B0aW9ucz47XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgZ2VuZXJhdGluZyBhIG1hcmtkb3duIGxpbmsuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2VuZXJhdGVNYXJrZG93bkxpbmtPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBhbGlhcyBmb3IgdGhlIGxpbmsuXG4gICAqL1xuICBhbGlhcz86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAgICovXG4gIGFwcDogQXBwO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGxpbmsgc2hvdWxkIGJlIGVtYmVkZGVkLiBJZiBub3QgcHJvdmlkZWQsIGl0IHdpbGwgYmUgaW5mZXJyZWQgYmFzZWQgb24gdGhlIGZpbGUgdHlwZS5cbiAgICovXG4gIGlzRW1iZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGFsbG93IGFuIGVtcHR5IGFsaWFzIGZvciBlbWJlZHMuIERlZmF1bHRzIHRvIGB0cnVlYC5cbiAgICovXG4gIGlzRW1wdHlFbWJlZEFsaWFzQWxsb3dlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gYWxsb3cgbm9uLWV4aXN0aW5nIGZpbGVzLiBJZiBgZmFsc2VgIGFuZCBgcGF0aE9yRmlsZWAgaXMgYSBub24tZXhpc3RpbmcgZmlsZSwgYW4gZXJyb3Igd2lsbCBiZSB0aHJvd24uIERlZmF1bHRzIHRvIGBmYWxzZWAuXG4gICAqL1xuICBpc05vbkV4aXN0aW5nRmlsZUFsbG93ZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGxpbmsgc2hvdWxkIGJlIGEgd2lraWxpbmsuIElmIG5vdCBwcm92aWRlZCwgaXQgd2lsbCBiZSBpbmZlcnJlZCBiYXNlZCBvbiB0aGUgT2JzaWRpYW4gc2V0dGluZ3MuXG4gICAqL1xuICBpc1dpa2lsaW5rPzogYm9vbGVhbjtcblxuICAvKipcbiAgICAqIFRoZSBvcmlnaW5hbCBsaW5rIHRleHQuIElmIHByb3ZpZGVkLCBpdCB3aWxsIGJlIHVzZWQgdG8gaW5mZXIgdGhlIHZhbHVlcyBvZiBgaXNFbWJlZGAsIGBpc1dpa2lsaW5rYCwgYHVzZUxlYWRpbmdEb3RgLCBhbmQgYHVzZUFuZ2xlQnJhY2tldHNgLlxuICAgICogVGhlc2UgaW5mZXJyZWQgdmFsdWVzIHdpbGwgYmUgb3ZlcnJpZGRlbiBieSBjb3JyZXNwb25kaW5nIHNldHRpbmdzIGlmIHNwZWNpZmllZC5cbiAgICAqL1xuICBvcmlnaW5hbExpbms/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgbGluayBzaG91bGQgYmUgcmVsYXRpdmUuIElmIG5vdCBwcm92aWRlZCBvciBgZmFsc2VgLCBpdCB3aWxsIGJlIGluZmVycmVkIGJhc2VkIG9uIHRoZSBPYnNpZGlhbiBzZXR0aW5ncy5cbiAgICovXG4gIHNob3VsZEZvcmNlUmVsYXRpdmVQYXRoPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBpbmNsdWRlIHRoZSBhdHRhY2htZW50IGV4dGVuc2lvbiBpbiB0aGUgZW1iZWQgYWxpYXMuIEhhcyBubyBlZmZlY3QgaWYgYGFsbG93RW1wdHlFbWJlZEFsaWFzYCBpcyBgdHJ1ZWAuIERlZmF1bHRzIHRvIGBmYWxzZWAuXG4gICAqL1xuICBzaG91bGRJbmNsdWRlQXR0YWNobWVudEV4dGVuc2lvblRvRW1iZWRBbGlhcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgbGluayBzaG91bGQgdXNlIGFuZ2xlIGJyYWNrZXRzLiBEZWZhdWx0cyB0byBgZmFsc2VgLiBIYXMgbm8gZWZmZWN0IGlmIGBpc1dpa2lsaW5rYCBpcyBgdHJ1ZWBcbiAgICovXG4gIHNob3VsZFVzZUFuZ2xlQnJhY2tldHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGxpbmsgc2hvdWxkIHVzZSBhIGxlYWRpbmcgZG90LiBEZWZhdWx0cyB0byBgZmFsc2VgLiBIYXMgbm8gZWZmZWN0IGlmIGBpc1dpa2lsaW5rYCBpcyBgdHJ1ZWAgb3IgYGlzUmVsYXRpdmVgIGlzIGBmYWxzZWAuXG4gICAqL1xuICBzaG91bGRVc2VMZWFkaW5nRG90PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHNvdXJjZSBwYXRoIG9mIHRoZSBsaW5rLlxuICAgKi9cbiAgc291cmNlUGF0aE9yRmlsZTogUGF0aE9yRmlsZTtcblxuICAvKipcbiAgICogVGhlIHN1YnBhdGggb2YgdGhlIGxpbmsuXG4gICAqL1xuICBzdWJwYXRoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdGFyZ2V0IHBhdGggb3IgZmlsZS5cbiAgICovXG4gIHRhcmdldFBhdGhPckZpbGU6IFBhdGhPckZpbGU7XG59XG5cbi8qKlxuICogVGhlIHJlc3VsdCBvZiBwYXJzaW5nIGEgbGluay5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJzZUxpbmtSZXN1bHQge1xuICAvKipcbiAgICogVGhlIGFsaWFzIG9mIHRoZSBsaW5rLlxuICAgKi9cbiAgYWxpYXM/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgbGluayBoYXMgYW5nbGUgYnJhY2tldHMuXG4gICAqL1xuICBoYXNBbmdsZUJyYWNrZXRzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBsaW5rIGlzIGFuIGVtYmVkIGxpbmsuXG4gICAqL1xuICBpc0VtYmVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGxpbmsgaXMgZXh0ZXJuYWwuXG4gICAqL1xuICBpc0V4dGVybmFsPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBsaW5rIGlzIGEgd2lraWxpbmsuXG4gICAqL1xuICBpc1dpa2lsaW5rOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgdGl0bGUgb2YgdGhlIGxpbmsuXG4gICAqL1xuICB0aXRsZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIFVSTCBvZiB0aGUgbGluay5cbiAgICovXG4gIHVybDogc3RyaW5nO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGRldGVybWluaW5nIGlmIHRoZSBhbGlhcyBvZiBhIGxpbmsgc2hvdWxkIGJlIHJlc2V0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNob3VsZFJlc2V0QWxpYXNPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIGRpc3BsYXkgdGV4dCBvZiB0aGUgbGluay5cbiAgICovXG4gIGRpc3BsYXlUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgbGluayBpcyBhIHdpa2lsaW5rLlxuICAgKi9cbiAgaXNXaWtpbGluaz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBzb3VyY2UgcGF0aCBvZiB0aGUgbGluay5cbiAgICovXG4gIG5ld1NvdXJjZVBhdGhPckZpbGU6IFBhdGhPckZpbGU7XG5cbiAgLyoqXG4gICAqIFRoZSBvbGQgc291cmNlIGZpbGUgY29udGFpbmluZyB0aGUgbGluay5cbiAgICovXG4gIG9sZFNvdXJjZVBhdGhPckZpbGU/OiBQYXRoT3JGaWxlO1xuXG4gIC8qKlxuICAgKiBUaGUgb2xkIHRhcmdldCBwYXRoIG9mIHRoZSBsaW5rLlxuICAgKi9cbiAgb2xkVGFyZ2V0UGF0aDogUGF0aE9yRmlsZTtcblxuICAvKipcbiAgICogVGhlIHRhcmdldCBwYXRoIG9yIGZpbGUuXG4gICAqL1xuICB0YXJnZXRQYXRoT3JGaWxlOiBQYXRoT3JGaWxlO1xufVxuXG4vKipcbiAqIFNwbGl0cyBhIGxpbmsgaW50byBpdHMgbGluayBwYXRoIGFuZCBzdWJwYXRoLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNwbGl0U3VicGF0aFJlc3VsdCB7XG4gIC8qKlxuICAgKiBUaGUgbGluayBwYXRoLlxuICAgKi9cbiAgbGlua1BhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHN1YnBhdGguXG4gICAqL1xuICBzdWJwYXRoOiBzdHJpbmc7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgdXBkYXRpbmcgYSBsaW5rLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZUxpbmtPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIHJlZmVyZW5jZSBmb3IgdGhlIGxpbmsuXG4gICAqL1xuICBsaW5rOiBSZWZlcmVuY2U7XG5cbiAgLyoqXG4gICAqIFRoZSBzb3VyY2UgZmlsZSBjb250YWluaW5nIHRoZSBsaW5rLlxuICAgKi9cbiAgbmV3U291cmNlUGF0aE9yRmlsZTogUGF0aE9yRmlsZTtcblxuICAvKipcbiAgICogVGhlIGZpbGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBsaW5rLlxuICAgKi9cbiAgbmV3VGFyZ2V0UGF0aE9yRmlsZTogUGF0aE9yRmlsZTtcblxuICAvKipcbiAgICogVGhlIG9sZCBzb3VyY2UgZmlsZSBjb250YWluaW5nIHRoZSBsaW5rLlxuICAgKi9cbiAgb2xkU291cmNlUGF0aE9yRmlsZT86IFBhdGhPckZpbGU7XG5cbiAgLyoqXG4gICAqIFRoZSBvbGQgcGF0aCBvZiB0aGUgZmlsZS5cbiAgICovXG4gIG9sZFRhcmdldFBhdGhPckZpbGU/OiBQYXRoT3JGaWxlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGZvcmNlIG1hcmtkb3duIGxpbmtzLlxuICAgKi9cbiAgc2hvdWxkRm9yY2VNYXJrZG93bkxpbmtzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byB1cGRhdGUgZmlsZW5hbWUgYWxpYXMuIERlZmF1bHRzIHRvIGB0cnVlYC5cbiAgICovXG4gIHNob3VsZFVwZGF0ZUZpbGVuYW1lQWxpYXM/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHVwZGF0aW5nIGxpbmtzIGluIGEgZmlsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVMaW5rc0luRmlsZU9wdGlvbnMgZXh0ZW5kcyBQcm9jZXNzT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgb2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICAgKi9cbiAgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFRoZSBmaWxlIHRvIHVwZGF0ZSB0aGUgbGlua3MgaW4uXG4gICAqL1xuICBuZXdTb3VyY2VQYXRoT3JGaWxlOiBQYXRoT3JGaWxlO1xuXG4gIC8qKlxuICAgKiBUaGUgb2xkIHBhdGggb2YgdGhlIGZpbGUuXG4gICAqL1xuICBvbGRTb3VyY2VQYXRoT3JGaWxlPzogUGF0aE9yRmlsZTtcblxuICAvKipcbiAgICogV2hldGhlciB0byBmb3JjZSB0aGUgbGlua3MgdG8gYmUgaW4gTWFya2Rvd24gZm9ybWF0LlxuICAgKi9cbiAgc2hvdWxkRm9yY2VNYXJrZG93bkxpbmtzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byB1cGRhdGUgb25seSBlbWJlZGRlZCBsaW5rcy5cbiAgICovXG4gIHNob3VsZFVwZGF0ZUVtYmVkT25seUxpbmtzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byB1cGRhdGUgZmlsZW5hbWUgYWxpYXMuIERlZmF1bHRzIHRvIGB0cnVlYC5cbiAgICovXG4gIHNob3VsZFVwZGF0ZUZpbGVuYW1lQWxpYXM/OiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgV2lraUxpbmtOb2RlIHtcbiAgZGF0YToge1xuICAgIGFsaWFzOiBzdHJpbmc7XG4gIH07XG4gIHZhbHVlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBsaW5rIHRvIGEgbmV3IHBhdGguXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgY29udmVydGluZyB0aGUgbGluay5cbiAqIEByZXR1cm5zIFRoZSBjb252ZXJ0ZWQgbGluay5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRMaW5rKG9wdGlvbnM6IENvbnZlcnRMaW5rT3B0aW9ucyk6IHN0cmluZyB7XG4gIGNvbnN0IHRhcmdldEZpbGUgPSBleHRyYWN0TGlua0ZpbGUob3B0aW9ucy5hcHAsIG9wdGlvbnMubGluaywgb3B0aW9ucy5vbGRTb3VyY2VQYXRoT3JGaWxlID8/IG9wdGlvbnMubmV3U291cmNlUGF0aE9yRmlsZSk7XG4gIGlmICghdGFyZ2V0RmlsZSkge1xuICAgIHJldHVybiBvcHRpb25zLmxpbmsub3JpZ2luYWw7XG4gIH1cblxuICByZXR1cm4gdXBkYXRlTGluayhub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXM8VXBkYXRlTGlua09wdGlvbnM+KHtcbiAgICBhcHA6IG9wdGlvbnMuYXBwLFxuICAgIGxpbms6IG9wdGlvbnMubGluayxcbiAgICBuZXdTb3VyY2VQYXRoT3JGaWxlOiBvcHRpb25zLm5ld1NvdXJjZVBhdGhPckZpbGUsXG4gICAgbmV3VGFyZ2V0UGF0aE9yRmlsZTogdGFyZ2V0RmlsZSxcbiAgICBvbGRTb3VyY2VQYXRoT3JGaWxlOiBvcHRpb25zLm9sZFNvdXJjZVBhdGhPckZpbGUsXG4gICAgc2hvdWxkRm9yY2VNYXJrZG93bkxpbmtzOiBvcHRpb25zLnNob3VsZEZvcmNlTWFya2Rvd25MaW5rcyxcbiAgICBzaG91bGRVcGRhdGVGaWxlbmFtZUFsaWFzOiBvcHRpb25zLnNob3VsZFVwZGF0ZUZpbGVuYW1lQWxpYXNcbiAgfSkpO1xufVxuXG4vKipcbiAqIEVkaXRzIHRoZSBiYWNrbGlua3MgZm9yIGEgZmlsZSBvciBwYXRoLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGZpbGUgdG8gZWRpdCB0aGUgYmFja2xpbmtzIGZvci5cbiAqIEBwYXJhbSBsaW5rQ29udmVydGVyIC0gVGhlIGZ1bmN0aW9uIHRoYXQgY29udmVydHMgZWFjaCBsaW5rLlxuICogQHBhcmFtIHByb2Nlc3NPcHRpb25zIC0gT3B0aW9uYWwgb3B0aW9ucyBmb3IgcmV0cnlpbmcgdGhlIG9wZXJhdGlvbi5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGJhY2tsaW5rcyBoYXZlIGJlZW4gZWRpdGVkLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWludmFsaWQtdm9pZC10eXBlXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZWRpdEJhY2tsaW5rcyhhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSwgbGlua0NvbnZlcnRlcjogKGxpbms6IFJlZmVyZW5jZSkgPT4gTWF5YmVQcm9taXNlPHN0cmluZyB8IHZvaWQ+LCBwcm9jZXNzT3B0aW9uczogUHJvY2Vzc09wdGlvbnMgPSB7fSk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBiYWNrbGlua3MgPSBhd2FpdCBnZXRCYWNrbGlua3NGb3JGaWxlU2FmZShhcHAsIHBhdGhPckZpbGUsIHByb2Nlc3NPcHRpb25zKTtcbiAgZm9yIChjb25zdCBiYWNrbGlua05vdGVQYXRoIG9mIGJhY2tsaW5rcy5rZXlzKCkpIHtcbiAgICBjb25zdCBjdXJyZW50TGlua3MgPSBiYWNrbGlua3MuZ2V0KGJhY2tsaW5rTm90ZVBhdGgpID8/IFtdO1xuICAgIGNvbnN0IGxpbmtKc29ucyA9IG5ldyBTZXQ8c3RyaW5nPihjdXJyZW50TGlua3MubWFwKChsaW5rKSA9PiB0b0pzb24obGluaykpKTtcbiAgICBhd2FpdCBlZGl0TGlua3MoYXBwLCBiYWNrbGlua05vdGVQYXRoLCAobGluaykgPT4ge1xuICAgICAgY29uc3QgbGlua0pzb24gPSB0b0pzb24obGluayk7XG4gICAgICBpZiAoIWxpbmtKc29ucy5oYXMobGlua0pzb24pKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGxpbmtDb252ZXJ0ZXIobGluayk7XG4gICAgfSwgcHJvY2Vzc09wdGlvbnMpO1xuICB9XG59XG5cbi8qKlxuICogRWRpdHMgdGhlIGxpbmtzIGluIHRoZSBzcGVjaWZpZWQgZmlsZSBvciBwYXRoIHVzaW5nIHRoZSBwcm92aWRlZCBsaW5rIGNvbnZlcnRlciBmdW5jdGlvbi5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBmaWxlIHRvIGVkaXQgdGhlIGxpbmtzIGluLlxuICogQHBhcmFtIGxpbmtDb252ZXJ0ZXIgLSBUaGUgZnVuY3Rpb24gdGhhdCBjb252ZXJ0cyBlYWNoIGxpbmsuXG4gKiBAcGFyYW0gcHJvY2Vzc09wdGlvbnMgLSBPcHRpb25hbCBvcHRpb25zIGZvciBwcm9jZXNzaW5nL3JldHJ5aW5nIHRoZSBvcGVyYXRpb24uXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBsaW5rcyBoYXZlIGJlZW4gZWRpdGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZWRpdExpbmtzKFxuICBhcHA6IEFwcCxcbiAgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1pbnZhbGlkLXZvaWQtdHlwZVxuICBsaW5rQ29udmVydGVyOiAobGluazogUmVmZXJlbmNlKSA9PiBNYXliZVByb21pc2U8c3RyaW5nIHwgdm9pZD4sXG4gIHByb2Nlc3NPcHRpb25zOiBQcm9jZXNzT3B0aW9ucyA9IHt9KTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGFwcGx5RmlsZUNoYW5nZXMoYXBwLCBwYXRoT3JGaWxlLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgY2FjaGUgPSBhd2FpdCBnZXRDYWNoZVNhZmUoYXBwLCBwYXRoT3JGaWxlKTtcbiAgICBpZiAoIWNhY2hlKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3QgY2hhbmdlczogRmlsZUNoYW5nZVtdID0gW107XG5cbiAgICBmb3IgKGNvbnN0IGxpbmsgb2YgZ2V0QWxsTGlua3MoY2FjaGUpKSB7XG4gICAgICBjb25zdCBuZXdDb250ZW50ID0gYXdhaXQgbGlua0NvbnZlcnRlcihsaW5rKTtcbiAgICAgIGlmIChuZXdDb250ZW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNoYW5nZXMucHVzaChyZWZlcmVuY2VUb0ZpbGVDaGFuZ2UobGluaywgbmV3Q29udGVudCkpO1xuICAgIH1cblxuICAgIHJldHVybiBjaGFuZ2VzO1xuICB9LCBwcm9jZXNzT3B0aW9ucyk7XG59XG5cbi8qKlxuICogRXh0cmFjdHMgdGhlIGZpbGUgYXNzb2NpYXRlZCB3aXRoIGEgbGluay5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIGxpbmsgLSBUaGUgcmVmZXJlbmNlIGNhY2hlIGZvciB0aGUgbGluay5cbiAqIEBwYXJhbSBzb3VyY2VQYXRoT3JGaWxlIC0gVGhlIHNvdXJjZSBwYXRoIG9yIGZpbGUuXG4gKiBAcmV0dXJucyBUaGUgZmlsZSBhc3NvY2lhdGVkIHdpdGggdGhlIGxpbmssIG9yIG51bGwgaWYgbm90IGZvdW5kLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdExpbmtGaWxlKGFwcDogQXBwLCBsaW5rOiBSZWZlcmVuY2UsIHNvdXJjZVBhdGhPckZpbGU6IFBhdGhPckZpbGUpOiBudWxsIHwgVEZpbGUge1xuICBjb25zdCB7IGxpbmtQYXRoIH0gPSBzcGxpdFN1YnBhdGgobGluay5saW5rKTtcbiAgcmV0dXJuIGFwcC5tZXRhZGF0YUNhY2hlLmdldEZpcnN0TGlua3BhdGhEZXN0KGxpbmtQYXRoLCBnZXRQYXRoKGFwcCwgc291cmNlUGF0aE9yRmlsZSkpO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlcyBhIG1hcmtkb3duIGxpbmsgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBhcmFtZXRlcnMuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgZ2VuZXJhdGluZyB0aGUgbWFya2Rvd24gbGluay5cbiAqIEByZXR1cm5zIFRoZSBnZW5lcmF0ZWQgbWFya2Rvd24gbGluay5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlTWFya2Rvd25MaW5rKG9wdGlvbnM6IEdlbmVyYXRlTWFya2Rvd25MaW5rT3B0aW9ucyk6IHN0cmluZyB7XG4gIGNvbnN0IHsgYXBwIH0gPSBvcHRpb25zO1xuXG4gIGNvbnN0IGNvbmZpZ3VyYWJsZURlZmF1bHRPcHRpb25zRm4gPSAoYXBwLmZpbGVNYW5hZ2VyLmdlbmVyYXRlTWFya2Rvd25MaW5rIGFzIFBhcnRpYWw8R2VuZXJhdGVNYXJrZG93bkxpbmtEZWZhdWx0T3B0aW9uc1dyYXBwZXI+KS5kZWZhdWx0T3B0aW9uc0ZuID8/ICgoKTogUGFydGlhbDxHZW5lcmF0ZU1hcmtkb3duTGlua09wdGlvbnM+ID0+ICh7fSkpO1xuICBjb25zdCBjb25maWd1cmFibGVEZWZhdWx0T3B0aW9ucyA9IGNvbmZpZ3VyYWJsZURlZmF1bHRPcHRpb25zRm4oKTtcblxuICBjb25zdCBERUZBVUxUX09QVElPTlM6IFBhcnRpYWw8R2VuZXJhdGVNYXJrZG93bkxpbmtPcHRpb25zPiA9IHtcbiAgICBpc0VtcHR5RW1iZWRBbGlhc0FsbG93ZWQ6IHRydWVcbiAgfTtcblxuICBvcHRpb25zID0geyAuLi5ERUZBVUxUX09QVElPTlMsIC4uLmNvbmZpZ3VyYWJsZURlZmF1bHRPcHRpb25zLCAuLi5vcHRpb25zIH07XG5cbiAgY29uc3QgdGFyZ2V0RmlsZSA9IGdldEZpbGUoYXBwLCBvcHRpb25zLnRhcmdldFBhdGhPckZpbGUsIG9wdGlvbnMuaXNOb25FeGlzdGluZ0ZpbGVBbGxvd2VkKTtcblxuICByZXR1cm4gdGVtcFJlZ2lzdGVyRmlsZUFuZFJ1bihhcHAsIHRhcmdldEZpbGUsICgpID0+IHtcbiAgICBjb25zdCBzb3VyY2VQYXRoID0gZ2V0UGF0aChhcHAsIG9wdGlvbnMuc291cmNlUGF0aE9yRmlsZSk7XG4gICAgY29uc3Qgc3VicGF0aCA9IG9wdGlvbnMuc3VicGF0aCA/PyAnJztcbiAgICBsZXQgYWxpYXMgPSBvcHRpb25zLmFsaWFzID8/ICcnO1xuICAgIGNvbnN0IGlzRW1iZWQgPSBvcHRpb25zLmlzRW1iZWQgPz8gKG9wdGlvbnMub3JpZ2luYWxMaW5rID8gdGVzdEVtYmVkKG9wdGlvbnMub3JpZ2luYWxMaW5rKSA6IHVuZGVmaW5lZCkgPz8gIWlzTWFya2Rvd25GaWxlKGFwcCwgdGFyZ2V0RmlsZSk7XG4gICAgY29uc3QgaXNXaWtpbGluayA9IG9wdGlvbnMuaXNXaWtpbGluayA/PyAob3B0aW9ucy5vcmlnaW5hbExpbmsgPyB0ZXN0V2lraWxpbmsob3B0aW9ucy5vcmlnaW5hbExpbmspIDogdW5kZWZpbmVkKSA/PyBzaG91bGRVc2VXaWtpbGlua3MoYXBwKTtcbiAgICBjb25zdCBzaG91bGRGb3JjZVJlbGF0aXZlUGF0aCA9IG9wdGlvbnMuc2hvdWxkRm9yY2VSZWxhdGl2ZVBhdGggPz8gc2hvdWxkVXNlUmVsYXRpdmVMaW5rcyhhcHApO1xuICAgIGNvbnN0IHNob3VsZFVzZUxlYWRpbmdEb3QgPSBvcHRpb25zLnNob3VsZFVzZUxlYWRpbmdEb3QgPz8gKG9wdGlvbnMub3JpZ2luYWxMaW5rID8gdGVzdExlYWRpbmdEb3Qob3B0aW9ucy5vcmlnaW5hbExpbmspIDogdW5kZWZpbmVkKSA/PyBmYWxzZTtcbiAgICBjb25zdCBzaG91bGRVc2VBbmdsZUJyYWNrZXRzID0gb3B0aW9ucy5zaG91bGRVc2VBbmdsZUJyYWNrZXRzID8/IChvcHRpb25zLm9yaWdpbmFsTGluayA/IHRlc3RBbmdsZUJyYWNrZXRzKG9wdGlvbnMub3JpZ2luYWxMaW5rKSA6IHVuZGVmaW5lZCkgPz8gZmFsc2U7XG5cbiAgICBsZXQgbGlua1RleHQgPSB0YXJnZXRGaWxlLnBhdGggPT09IHNvdXJjZVBhdGggJiYgc3VicGF0aFxuICAgICAgPyBzdWJwYXRoXG4gICAgICA6IHNob3VsZEZvcmNlUmVsYXRpdmVQYXRoXG4gICAgICAgID8gcmVsYXRpdmUoZGlybmFtZShzb3VyY2VQYXRoKSwgaXNXaWtpbGluayA/IHRyaW1NYXJrZG93bkV4dGVuc2lvbihhcHAsIHRhcmdldEZpbGUpIDogdGFyZ2V0RmlsZS5wYXRoKSArIHN1YnBhdGhcbiAgICAgICAgOiBhcHAubWV0YWRhdGFDYWNoZS5maWxlVG9MaW5rdGV4dCh0YXJnZXRGaWxlLCBzb3VyY2VQYXRoLCBpc1dpa2lsaW5rKSArIHN1YnBhdGg7XG5cbiAgICBpZiAoc2hvdWxkRm9yY2VSZWxhdGl2ZVBhdGggJiYgc2hvdWxkVXNlTGVhZGluZ0RvdCAmJiAhbGlua1RleHQuc3RhcnRzV2l0aCgnLicpICYmICFsaW5rVGV4dC5zdGFydHNXaXRoKCcjJykpIHtcbiAgICAgIGxpbmtUZXh0ID0gJy4vJyArIGxpbmtUZXh0O1xuICAgIH1cblxuICAgIGNvbnN0IGVtYmVkUHJlZml4ID0gaXNFbWJlZCA/ICchJyA6ICcnO1xuXG4gICAgaWYgKCFpc1dpa2lsaW5rKSB7XG4gICAgICBpZiAoc2hvdWxkVXNlQW5nbGVCcmFja2V0cykge1xuICAgICAgICBsaW5rVGV4dCA9IGA8JHtsaW5rVGV4dH0+YDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxpbmtUZXh0ID0gcmVwbGFjZUFsbChsaW5rVGV4dCwgU1BFQ0lBTF9MSU5LX1NZTUJPTFNfUkVHRVhQLCAoeyBzdWJzdHJpbmc6IHNwZWNpYWxMaW5rU3ltYm9sIH0pID0+IGVuY29kZVVSSUNvbXBvbmVudChzcGVjaWFsTGlua1N5bWJvbCkpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWFsaWFzICYmICghaXNFbWJlZCB8fCAhb3B0aW9ucy5pc0VtcHR5RW1iZWRBbGlhc0FsbG93ZWQpKSB7XG4gICAgICAgIGFsaWFzID0gIW9wdGlvbnMuc2hvdWxkSW5jbHVkZUF0dGFjaG1lbnRFeHRlbnNpb25Ub0VtYmVkQWxpYXMgfHwgaXNNYXJrZG93bkZpbGUoYXBwLCB0YXJnZXRGaWxlKSA/IHRhcmdldEZpbGUuYmFzZW5hbWUgOiB0YXJnZXRGaWxlLm5hbWU7XG4gICAgICB9XG5cbiAgICAgIGFsaWFzID0gcmVwbGFjZUFsbChhbGlhcywgU1BFQ0lBTF9NQVJLRE9XTl9MSU5LX1NZTUJPTFNfUkVHRVgsICdcXFxcJCYnKTtcblxuICAgICAgcmV0dXJuIGAke2VtYmVkUHJlZml4fVske2FsaWFzfV0oJHtsaW5rVGV4dH0pYDtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGFsaWFzICYmIGFsaWFzLnRvTG93ZXJDYXNlKCkgPT09IGxpbmtUZXh0LnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgbGlua1RleHQgPSBhbGlhcztcbiAgICAgICAgYWxpYXMgPSAnJztcbiAgICAgIH1cblxuICAgICAgY29uc3QgYWxpYXNQYXJ0ID0gYWxpYXMgPyBgfCR7YWxpYXN9YCA6ICcnO1xuICAgICAgcmV0dXJuIGAke2VtYmVkUHJlZml4fVtbJHtsaW5rVGV4dH0ke2FsaWFzUGFydH1dXWA7XG4gICAgfVxuICB9KTtcbn1cblxuLyoqXG4gKiBQYXJzZXMgYSBsaW5rIGludG8gaXRzIGNvbXBvbmVudHMuXG4gKlxuICogQHBhcmFtIHN0ciAtIFRoZSBsaW5rIHRvIHBhcnNlLlxuICogQHJldHVybnMgVGhlIHBhcnNlZCBsaW5rLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VMaW5rKHN0cjogc3RyaW5nKTogbnVsbCB8IFBhcnNlTGlua1Jlc3VsdCB7XG4gIGlmIChpc1VybChzdHIpKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlzRW1iZWQ6IGZhbHNlLFxuICAgICAgaXNFeHRlcm5hbDogdHJ1ZSxcbiAgICAgIGlzV2lraWxpbms6IGZhbHNlLFxuICAgICAgdXJsOiBzdHJcbiAgICB9O1xuICB9XG5cbiAgY29uc3QgRU1CRURfUFJFRklYID0gJyEnO1xuICBjb25zdCBPUEVOX0FOR0xFX0JSQUNLRVQgPSAnPCc7XG4gIGNvbnN0IExJTktfQUxJQVNfU1VGRklYID0gJ10oJztcbiAgY29uc3QgTElOS19TVUZGSVggPSAnKSc7XG4gIGNvbnN0IFdJS0lMSU5LX0RJVklERVIgPSAnfCc7XG5cbiAgY29uc3QgaXNFbWJlZCA9IHN0ci5zdGFydHNXaXRoKEVNQkVEX1BSRUZJWCk7XG4gIGlmIChpc0VtYmVkKSB7XG4gICAgc3RyID0gdHJpbVN0YXJ0KHN0ciwgRU1CRURfUFJFRklYKTtcbiAgfVxuICBjb25zdCBwcm9jZXNzb3IgPSByZW1hcmsoKS51c2UocmVtYXJrUGFyc2UpLnVzZSh3aWtpTGlua1BsdWdpbiwgeyBhbGlhc0RpdmlkZXI6IFdJS0lMSU5LX0RJVklERVIgfSk7XG4gIGNvbnN0IHJvb3QgPSBwcm9jZXNzb3IucGFyc2Uoc3RyKTtcblxuICBpZiAocm9vdC5jaGlsZHJlbi5sZW5ndGggIT09IDEpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IHBhcmFncmFwaCA9IHJvb3QuY2hpbGRyZW5bMF07XG5cbiAgaWYgKHBhcmFncmFwaD8udHlwZSAhPT0gJ3BhcmFncmFwaCcpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlmIChwYXJhZ3JhcGguY2hpbGRyZW4ubGVuZ3RoICE9PSAxKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBub2RlID0gcGFyYWdyYXBoLmNoaWxkcmVuWzBdO1xuXG4gIGlmIChub2RlPy5wb3NpdGlvbj8uc3RhcnQub2Zmc2V0ICE9PSAwKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBpZiAobm9kZS5wb3NpdGlvbi5lbmQub2Zmc2V0ICE9PSBzdHIubGVuZ3RoKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBzd2l0Y2ggKG5vZGUudHlwZSBhcyBzdHJpbmcpIHtcbiAgICBjYXNlICdsaW5rJzoge1xuICAgICAgY29uc3QgbGlua05vZGUgPSBub2RlIGFzIExpbms7XG4gICAgICBjb25zdCBhbGlhc05vZGUgPSBsaW5rTm9kZS5jaGlsZHJlblswXSBhcyBUZXh0IHwgdW5kZWZpbmVkO1xuICAgICAgY29uc3QgcmF3VXJsID0gc3RyLnNsaWNlKChhbGlhc05vZGU/LnBvc2l0aW9uPy5lbmQub2Zmc2V0ID8/IDEpICsgTElOS19BTElBU19TVUZGSVgubGVuZ3RoLCAobGlua05vZGUucG9zaXRpb24/LmVuZC5vZmZzZXQgPz8gMCkgLSBMSU5LX1NVRkZJWC5sZW5ndGgpO1xuICAgICAgY29uc3QgaGFzQW5nbGVCcmFja2V0cyA9IHN0ci5zdGFydHNXaXRoKE9QRU5fQU5HTEVfQlJBQ0tFVCkgfHwgcmF3VXJsLnN0YXJ0c1dpdGgoT1BFTl9BTkdMRV9CUkFDS0VUKTtcbiAgICAgIGNvbnN0IGlzRXh0ZXJuYWwgPSBpc1VybChsaW5rTm9kZS51cmwpO1xuICAgICAgbGV0IHVybCA9IGxpbmtOb2RlLnVybDtcbiAgICAgIGlmICghaXNFeHRlcm5hbCkge1xuICAgICAgICBpZiAoIWhhc0FuZ2xlQnJhY2tldHMpIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgdXJsID0gZGVjb2RlVVJJQ29tcG9uZW50KHVybCk7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYEZhaWxlZCB0byBkZWNvZGUgVVJMICR7dXJsfWAsIGVycm9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXM8UGFyc2VMaW5rUmVzdWx0Pih7XG4gICAgICAgIGFsaWFzOiBhbGlhc05vZGU/LnZhbHVlLFxuICAgICAgICBoYXNBbmdsZUJyYWNrZXRzLFxuICAgICAgICBpc0VtYmVkLFxuICAgICAgICBpc0V4dGVybmFsLFxuICAgICAgICBpc1dpa2lsaW5rOiBmYWxzZSxcbiAgICAgICAgdGl0bGU6IGxpbmtOb2RlLnRpdGxlID8/IHVuZGVmaW5lZCxcbiAgICAgICAgdXJsXG4gICAgICB9KTtcbiAgICB9XG4gICAgY2FzZSAnd2lraUxpbmsnOiB7XG4gICAgICBjb25zdCB3aWtpTGlua05vZGUgPSBub2RlIGFzIHVua25vd24gYXMgV2lraUxpbmtOb2RlO1xuICAgICAgcmV0dXJuIG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllczxQYXJzZUxpbmtSZXN1bHQ+KHtcbiAgICAgICAgYWxpYXM6IHN0ci5pbmNsdWRlcyhXSUtJTElOS19ESVZJREVSKSA/IHdpa2lMaW5rTm9kZS5kYXRhLmFsaWFzIDogdW5kZWZpbmVkLFxuICAgICAgICBpc0VtYmVkLFxuICAgICAgICBpc1dpa2lsaW5rOiB0cnVlLFxuICAgICAgICB1cmw6IHdpa2lMaW5rTm9kZS52YWx1ZVxuICAgICAgfSk7XG4gICAgfVxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG4vKipcbiAqIERldGVybWluZXMgaWYgdGhlIGFsaWFzIG9mIGEgbGluayBzaG91bGQgYmUgcmVzZXQuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgZGV0ZXJtaW5pbmcgaWYgdGhlIGFsaWFzIHNob3VsZCBiZSByZXNldC5cbiAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGFsaWFzIHNob3VsZCBiZSByZXNldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNob3VsZFJlc2V0QWxpYXMob3B0aW9uczogU2hvdWxkUmVzZXRBbGlhc09wdGlvbnMpOiBib29sZWFuIHtcbiAgY29uc3Qge1xuICAgIGFwcCxcbiAgICBkaXNwbGF5VGV4dCxcbiAgICBpc1dpa2lsaW5rLFxuICAgIG5ld1NvdXJjZVBhdGhPckZpbGUsXG4gICAgb2xkU291cmNlUGF0aE9yRmlsZSxcbiAgICBvbGRUYXJnZXRQYXRoLFxuICAgIHRhcmdldFBhdGhPckZpbGVcbiAgfSA9IG9wdGlvbnM7XG4gIGlmIChpc1dpa2lsaW5rID09PSBmYWxzZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghZGlzcGxheVRleHQpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGNvbnN0IHRhcmdldEZpbGUgPSBnZXRGaWxlKGFwcCwgdGFyZ2V0UGF0aE9yRmlsZSwgdHJ1ZSk7XG4gIGNvbnN0IG5ld1NvdXJjZVBhdGggPSBnZXRQYXRoKGFwcCwgbmV3U291cmNlUGF0aE9yRmlsZSk7XG4gIGNvbnN0IG9sZFNvdXJjZVBhdGggPSBnZXRQYXRoKGFwcCwgb2xkU291cmNlUGF0aE9yRmlsZSA/PyBuZXdTb3VyY2VQYXRoT3JGaWxlKTtcbiAgY29uc3QgbmV3U291cmNlRGlyID0gZGlybmFtZShuZXdTb3VyY2VQYXRoKTtcbiAgY29uc3Qgb2xkU291cmNlRGlyID0gZGlybmFtZShvbGRTb3VyY2VQYXRoKTtcbiAgY29uc3QgYWxpYXNlc1RvUmVzZXQgPSBuZXcgU2V0PHN0cmluZz4oKTtcblxuICBmb3IgKGNvbnN0IHBhdGhPckZpbGUgb2YgW3RhcmdldEZpbGUucGF0aCwgb2xkVGFyZ2V0UGF0aF0pIHtcbiAgICBpZiAoIXBhdGhPckZpbGUpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHBhdGggPSBnZXRQYXRoKGFwcCwgcGF0aE9yRmlsZSk7XG4gICAgYWxpYXNlc1RvUmVzZXQuYWRkKHBhdGgpO1xuICAgIGFsaWFzZXNUb1Jlc2V0LmFkZChiYXNlbmFtZShwYXRoKSk7XG4gICAgYWxpYXNlc1RvUmVzZXQuYWRkKHJlbGF0aXZlKG5ld1NvdXJjZURpciwgcGF0aCkpO1xuICAgIGFsaWFzZXNUb1Jlc2V0LmFkZChyZWxhdGl2ZShvbGRTb3VyY2VEaXIsIHBhdGgpKTtcbiAgfVxuXG4gIGZvciAoY29uc3Qgc291cmNlUGF0aCBvZiBbb2xkU291cmNlUGF0aCwgbmV3U291cmNlUGF0aF0pIHtcbiAgICBhbGlhc2VzVG9SZXNldC5hZGQoYXBwLm1ldGFkYXRhQ2FjaGUuZmlsZVRvTGlua3RleHQodGFyZ2V0RmlsZSwgc291cmNlUGF0aCwgZmFsc2UpKTtcbiAgfVxuXG4gIGNvbnN0IGNsZWFuRGlzcGxheVRleHQgPSByZXBsYWNlQWxsKG5vcm1hbGl6ZVBhdGgoZGlzcGxheVRleHQuc3BsaXQoJyA+ICcpWzBdID8/ICcnKSwgL15cXC5cXC8vZywgJycpLnRvTG93ZXJDYXNlKCk7XG5cbiAgZm9yIChjb25zdCBhbGlhcyBvZiBhbGlhc2VzVG9SZXNldCkge1xuICAgIGlmIChhbGlhcy50b0xvd2VyQ2FzZSgpID09PSBjbGVhbkRpc3BsYXlUZXh0KSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zdCBkaXIgPSBkaXJuYW1lKGFsaWFzKTtcbiAgICBjb25zdCBiYXNlID0gYmFzZW5hbWUoYWxpYXMsIGV4dG5hbWUoYWxpYXMpKTtcbiAgICBpZiAoam9pbihkaXIsIGJhc2UpLnRvTG93ZXJDYXNlKCkgPT09IGNsZWFuRGlzcGxheVRleHQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuLyoqXG4gKiBTcGxpdHMgYSBsaW5rIGludG8gaXRzIGxpbmsgcGF0aCBhbmQgc3VicGF0aC5cbiAqXG4gKiBAcGFyYW0gbGluayAtIFRoZSBsaW5rIHRvIHNwbGl0LlxuICogQHJldHVybnMgQW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGxpbmsgcGF0aCBhbmQgc3VicGF0aC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNwbGl0U3VicGF0aChsaW5rOiBzdHJpbmcpOiBTcGxpdFN1YnBhdGhSZXN1bHQge1xuICBjb25zdCBwYXJzZWQgPSBwYXJzZUxpbmt0ZXh0KG5vcm1hbGl6ZShsaW5rKSk7XG4gIHJldHVybiB7XG4gICAgbGlua1BhdGg6IHBhcnNlZC5wYXRoLFxuICAgIHN1YnBhdGg6IHBhcnNlZC5zdWJwYXRoXG4gIH07XG59XG5cbi8qKlxuICogVGVzdHMgd2hldGhlciBhIGxpbmsgdXNlcyBhbmdsZSBicmFja2V0cywgcG9zc2libHkgZW1iZWQ6XG4gKiBgW3RpdGxlXSg8bGluaz4pYCwgYCFbdGl0bGVdKDxsaW5rPilgLlxuICpcbiAqIEBwYXJhbSBsaW5rIC0gTGluayB0byB0ZXN0XG4gKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBsaW5rIHVzZXMgYW5nbGUgYnJhY2tldHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRlc3RBbmdsZUJyYWNrZXRzKGxpbms6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBjb25zdCBwYXJzZUxpbmtSZXN1bHQgPSBwYXJzZUxpbmsobGluayk7XG4gIHJldHVybiBwYXJzZUxpbmtSZXN1bHQ/Lmhhc0FuZ2xlQnJhY2tldHMgPz8gZmFsc2U7XG59XG5cbi8qKlxuICogVGVzdHMgd2hldGhlciBhIGxpbmsgaXMgYW4gZW1iZWQgbGluazpcbiAqIGAhW1tsaW5rXV1gLCBgIVt0aXRsZV0obGluaylgLlxuICpcbiAqIEBwYXJhbSBsaW5rIC0gTGluayB0byB0ZXN0XG4gKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBsaW5rIGlzIGFuIGVtYmVkIGxpbmtcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRlc3RFbWJlZChsaW5rOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgY29uc3QgcGFyc2VMaW5rUmVzdWx0ID0gcGFyc2VMaW5rKGxpbmspO1xuICByZXR1cm4gcGFyc2VMaW5rUmVzdWx0Py5pc0VtYmVkID8/IGZhbHNlO1xufVxuXG4vKipcbiAqIFRlc3RzIHdoZXRoZXIgYSBsaW5rIGhhcyBhIGxlYWRpbmcgZG90LCBwb3NzaWJseSBlbWJlZDpcbiAqIGBbWy4vbGlua11dYCwgYFt0aXRsZV0oLi9saW5rKWAsIGBbdGl0bGVdKDwuL2xpbms+KWAsXG4gKiBgIVtbLi9saW5rXV1gLCBgIVt0aXRsZV0oLi9saW5rKWAsIGAhW3RpdGxlXSg8Li9saW5rPilgLlxuICpcbiAqIEBwYXJhbSBsaW5rIC0gTGluayB0byB0ZXN0XG4gKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBsaW5rIGhhcyBhIGxlYWRpbmcgZG90XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0ZXN0TGVhZGluZ0RvdChsaW5rOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgY29uc3QgcGFyc2VMaW5rUmVzdWx0ID0gcGFyc2VMaW5rKGxpbmspO1xuICByZXR1cm4gcGFyc2VMaW5rUmVzdWx0Py51cmwuc3RhcnRzV2l0aCgnLi8nKSA/PyBmYWxzZTtcbn1cblxuLyoqXG4gKiBUZXN0cyB3aGV0aGVyIGEgbGluayBpcyBhIHdpa2lsaW5rLCBwb3NzaWJseSBlbWJlZDpcbiAqIGBbW2xpbmtdXWAsIGAhW1tsaW5rXV1gLlxuICpcbiAqIEBwYXJhbSBsaW5rIC0gTGluayB0byB0ZXN0XG4gKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBsaW5rIGlzIGEgd2lraWxpbmtcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRlc3RXaWtpbGluayhsaW5rOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgY29uc3QgcGFyc2VMaW5rUmVzdWx0ID0gcGFyc2VMaW5rKGxpbmspO1xuICByZXR1cm4gcGFyc2VMaW5rUmVzdWx0Py5pc1dpa2lsaW5rID8/IGZhbHNlO1xufVxuXG4vKipcbiAqIFVwZGF0ZXMgYSBsaW5rIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIHVwZGF0aW5nIHRoZSBsaW5rLlxuICogQHJldHVybnMgVGhlIHVwZGF0ZWQgbGluay5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZUxpbmsob3B0aW9uczogVXBkYXRlTGlua09wdGlvbnMpOiBzdHJpbmcge1xuICBjb25zdCB7XG4gICAgYXBwLFxuICAgIGxpbmssXG4gICAgbmV3U291cmNlUGF0aE9yRmlsZTogbmV3U291cmNlUGF0aE9yRmlsZSxcbiAgICBuZXdUYXJnZXRQYXRoT3JGaWxlLFxuICAgIG9sZFNvdXJjZVBhdGhPckZpbGUsXG4gICAgb2xkVGFyZ2V0UGF0aE9yRmlsZSxcbiAgICBzaG91bGRGb3JjZU1hcmtkb3duTGlua3MsXG4gICAgc2hvdWxkVXBkYXRlRmlsZW5hbWVBbGlhc1xuICB9ID0gb3B0aW9ucztcbiAgaWYgKCFuZXdUYXJnZXRQYXRoT3JGaWxlKSB7XG4gICAgcmV0dXJuIGxpbmsub3JpZ2luYWw7XG4gIH1cbiAgY29uc3QgdGFyZ2V0RmlsZSA9IGdldEZpbGUoYXBwLCBuZXdUYXJnZXRQYXRoT3JGaWxlLCB0cnVlKTtcbiAgY29uc3Qgb2xkVGFyZ2V0UGF0aCA9IGdldFBhdGgoYXBwLCBvbGRUYXJnZXRQYXRoT3JGaWxlID8/IG5ld1RhcmdldFBhdGhPckZpbGUpO1xuICBjb25zdCBpc1dpa2lsaW5rID0gdGVzdFdpa2lsaW5rKGxpbmsub3JpZ2luYWwpICYmIHNob3VsZEZvcmNlTWFya2Rvd25MaW5rcyAhPT0gdHJ1ZTtcbiAgY29uc3QgeyBzdWJwYXRoIH0gPSBzcGxpdFN1YnBhdGgobGluay5saW5rKTtcblxuICBpZiAoaXNDYW52YXNGaWxlKGFwcCwgbmV3U291cmNlUGF0aE9yRmlsZSkpIHtcbiAgICByZXR1cm4gdGFyZ2V0RmlsZS5wYXRoICsgc3VicGF0aDtcbiAgfVxuXG4gIGxldCBhbGlhcyA9IHNob3VsZFJlc2V0QWxpYXMobm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzPFNob3VsZFJlc2V0QWxpYXNPcHRpb25zPih7XG4gICAgYXBwLFxuICAgIGRpc3BsYXlUZXh0OiBsaW5rLmRpc3BsYXlUZXh0LFxuICAgIGlzV2lraWxpbmssXG4gICAgbmV3U291cmNlUGF0aE9yRmlsZSxcbiAgICBvbGRTb3VyY2VQYXRoT3JGaWxlLFxuICAgIG9sZFRhcmdldFBhdGgsXG4gICAgdGFyZ2V0UGF0aE9yRmlsZTogdGFyZ2V0RmlsZVxuICB9KSlcbiAgICA/IHVuZGVmaW5lZFxuICAgIDogbGluay5kaXNwbGF5VGV4dDtcblxuICBpZiAoc2hvdWxkVXBkYXRlRmlsZW5hbWVBbGlhcyA/PyB0cnVlKSB7XG4gICAgaWYgKGFsaWFzID09PSBiYXNlbmFtZShvbGRUYXJnZXRQYXRoLCBleHRuYW1lKG9sZFRhcmdldFBhdGgpKSkge1xuICAgICAgYWxpYXMgPSB0YXJnZXRGaWxlLmJhc2VuYW1lO1xuICAgIH0gZWxzZSBpZiAoYWxpYXMgPT09IGJhc2VuYW1lKG9sZFRhcmdldFBhdGgpKSB7XG4gICAgICBhbGlhcyA9IHRhcmdldEZpbGUubmFtZTtcbiAgICB9XG4gIH1cblxuICBjb25zdCBuZXdMaW5rID0gZ2VuZXJhdGVNYXJrZG93bkxpbmsobm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzPEdlbmVyYXRlTWFya2Rvd25MaW5rT3B0aW9ucz4oe1xuICAgIGFsaWFzLFxuICAgIGFwcCxcbiAgICBpc1dpa2lsaW5rOiBzaG91bGRGb3JjZU1hcmtkb3duTGlua3MgPyBmYWxzZSA6IHVuZGVmaW5lZCxcbiAgICBvcmlnaW5hbExpbms6IGxpbmsub3JpZ2luYWwsXG4gICAgc291cmNlUGF0aE9yRmlsZTogbmV3U291cmNlUGF0aE9yRmlsZSxcbiAgICBzdWJwYXRoLFxuICAgIHRhcmdldFBhdGhPckZpbGU6IHRhcmdldEZpbGVcbiAgfSkpO1xuICByZXR1cm4gbmV3TGluaztcbn1cblxuLyoqXG4gKiBVcGRhdGVzIHRoZSBsaW5rcyBpbiBhIGZpbGUgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBhcmFtZXRlcnMuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgdXBkYXRpbmcgdGhlIGxpbmtzLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgbGlua3MgYXJlIHVwZGF0ZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB1cGRhdGVMaW5rc0luRmlsZShvcHRpb25zOiBVcGRhdGVMaW5rc0luRmlsZU9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3Qge1xuICAgIGFwcCxcbiAgICBuZXdTb3VyY2VQYXRoT3JGaWxlLFxuICAgIG9sZFNvdXJjZVBhdGhPckZpbGUsXG4gICAgc2hvdWxkRm9yY2VNYXJrZG93bkxpbmtzLFxuICAgIHNob3VsZFVwZGF0ZUVtYmVkT25seUxpbmtzLFxuICAgIHNob3VsZFVwZGF0ZUZpbGVuYW1lQWxpYXNcbiAgfSA9IG9wdGlvbnM7XG5cbiAgaWYgKGlzQ2FudmFzRmlsZShhcHAsIG5ld1NvdXJjZVBhdGhPckZpbGUpICYmICFhcHAuaW50ZXJuYWxQbHVnaW5zLmdldEVuYWJsZWRQbHVnaW5CeUlkKCdjYW52YXMnKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGF3YWl0IGVkaXRMaW5rcyhhcHAsIG5ld1NvdXJjZVBhdGhPckZpbGUsIChsaW5rKSA9PiB7XG4gICAgY29uc3QgaXNFbWJlZExpbmsgPSB0ZXN0RW1iZWQobGluay5vcmlnaW5hbCk7XG4gICAgaWYgKHNob3VsZFVwZGF0ZUVtYmVkT25seUxpbmtzICE9PSB1bmRlZmluZWQgJiYgc2hvdWxkVXBkYXRlRW1iZWRPbmx5TGlua3MgIT09IGlzRW1iZWRMaW5rKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHJldHVybiBjb252ZXJ0TGluayhub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXM8Q29udmVydExpbmtPcHRpb25zPih7XG4gICAgICBhcHAsXG4gICAgICBsaW5rLFxuICAgICAgbmV3U291cmNlUGF0aE9yRmlsZSxcbiAgICAgIG9sZFNvdXJjZVBhdGhPckZpbGUsXG4gICAgICBzaG91bGRGb3JjZU1hcmtkb3duTGlua3MsXG4gICAgICBzaG91bGRVcGRhdGVGaWxlbmFtZUFsaWFzXG4gICAgfSkp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
411
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL0xpbmsudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzWydwcm9jZXNzJ10gPz8ge1xuICBcImJyb3dzZXJcIjogdHJ1ZSxcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIExpbmtcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIHV0aWxpdGllcyBmb3IgaGFuZGxpbmcgYW5kIHVwZGF0aW5nIGxpbmtzIHdpdGhpbiBPYnNpZGlhbiB2YXVsdHMuIEl0IGluY2x1ZGVzXG4gKiBmdW5jdGlvbnMgdG8gc3BsaXQgcGF0aHMsIHVwZGF0ZSBsaW5rcyBpbiBmaWxlcywgYW5kIGdlbmVyYXRlIG1hcmtkb3duIGxpbmtzIHdpdGggdmFyaW91cyBvcHRpb25zLlxuICogVGhlIGZ1bmN0aW9ucyBpbnRlZ3JhdGUgd2l0aCBPYnNpZGlhbidzIEFQSSB0byBlbnN1cmUgdGhhdCBsaW5rcyBhcmUgbWFuYWdlZCBjb3JyZWN0bHkgd2l0aGluIHRoZSB2YXVsdC5cbiAqKi9cblxuaW1wb3J0IHR5cGUge1xuICBMaW5rLFxuICBUZXh0XG59IGZyb20gJ21kYXN0JztcbmltcG9ydCB0eXBlIHtcbiAgQXBwLFxuICBSZWZlcmVuY2UsXG4gIFRGaWxlXG59IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHtcbiAgbm9ybWFsaXplUGF0aCxcbiAgcGFyc2VMaW5rdGV4dFxufSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgeyByZW1hcmsgfSBmcm9tICdyZW1hcmsnO1xuaW1wb3J0IHJlbWFya1BhcnNlIGZyb20gJ3JlbWFyay1wYXJzZSc7XG5pbXBvcnQgeyB3aWtpTGlua1BsdWdpbiB9IGZyb20gJ3JlbWFyay13aWtpLWxpbmsnO1xuXG5pbXBvcnQgdHlwZSB7IE1heWJlUHJvbWlzZSB9IGZyb20gJy4uL0FzeW5jLnRzJztcbmltcG9ydCB0eXBlIHsgRmlsZUNoYW5nZSB9IGZyb20gJy4vRmlsZUNoYW5nZS50cyc7XG5pbXBvcnQgdHlwZSB7IFBhdGhPckZpbGUgfSBmcm9tICcuL0ZpbGVTeXN0ZW0udHMnO1xuaW1wb3J0IHR5cGUgeyBQcm9jZXNzT3B0aW9ucyB9IGZyb20gJy4vVmF1bHQudHMnO1xuXG5pbXBvcnQge1xuICBub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXMsXG4gIHRvSnNvblxufSBmcm9tICcuLi9PYmplY3QudHMnO1xuaW1wb3J0IHtcbiAgYmFzZW5hbWUsXG4gIGRpcm5hbWUsXG4gIGV4dG5hbWUsXG4gIGpvaW4sXG4gIHJlbGF0aXZlXG59IGZyb20gJy4uL1BhdGgudHMnO1xuaW1wb3J0IHtcbiAgbm9ybWFsaXplLFxuICByZXBsYWNlQWxsLFxuICB0cmltU3RhcnRcbn0gZnJvbSAnLi4vU3RyaW5nLnRzJztcbmltcG9ydCB7IGlzVXJsIH0gZnJvbSAnLi4vdXJsLnRzJztcbmltcG9ydCB7IGFwcGx5RmlsZUNoYW5nZXMgfSBmcm9tICcuL0ZpbGVDaGFuZ2UudHMnO1xuaW1wb3J0IHtcbiAgZ2V0RmlsZSxcbiAgZ2V0UGF0aCxcbiAgaXNDYW52YXNGaWxlLFxuICBpc01hcmtkb3duRmlsZSxcbiAgdHJpbU1hcmtkb3duRXh0ZW5zaW9uXG59IGZyb20gJy4vRmlsZVN5c3RlbS50cyc7XG5pbXBvcnQge1xuICBnZXRBbGxMaW5rcyxcbiAgZ2V0QmFja2xpbmtzRm9yRmlsZVNhZmUsXG4gIGdldENhY2hlU2FmZSxcbiAgdGVtcFJlZ2lzdGVyRmlsZUFuZFJ1blxufSBmcm9tICcuL01ldGFkYXRhQ2FjaGUudHMnO1xuaW1wb3J0IHtcbiAgc2hvdWxkVXNlUmVsYXRpdmVMaW5rcyxcbiAgc2hvdWxkVXNlV2lraWxpbmtzXG59IGZyb20gJy4vT2JzaWRpYW5TZXR0aW5ncy50cyc7XG5pbXBvcnQgeyByZWZlcmVuY2VUb0ZpbGVDaGFuZ2UgfSBmcm9tICcuL1JlZmVyZW5jZS50cyc7XG5cbi8qKlxuICogUmVndWxhciBleHByZXNzaW9uIGZvciBzcGVjaWFsIGxpbmsgc3ltYm9scy5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnRyb2wtcmVnZXhcbmNvbnN0IFNQRUNJQUxfTElOS19TWU1CT0xTX1JFR0VYUCA9IC9bXFxcXFxceDAwXFx4MDhcXHgwQlxceDBDXFx4MEUtXFx4MUYgXS9nO1xuXG4vKipcbiAqIFJlZ3VsYXIgZXhwcmVzc2lvbiBmb3Igc3BlY2lhbCBtYXJrZG93biBsaW5rIHN5bWJvbHMuXG4gKi9cbmNvbnN0IFNQRUNJQUxfTUFSS0RPV05fTElOS19TWU1CT0xTX1JFR0VYID0gL1tcXFxcW1xcXTw+Xyp+PWAkXS9nO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGNvbnZlcnRpbmcgYSBsaW5rLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbnZlcnRMaW5rT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICAgKi9cbiAgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFRoZSByZWZlcmVuY2UgZm9yIHRoZSBsaW5rLlxuICAgKi9cbiAgbGluazogUmVmZXJlbmNlO1xuXG4gIC8qKlxuICAgKiBUaGUgc291cmNlIGZpbGUgY29udGFpbmluZyB0aGUgbGluay5cbiAgICovXG4gIG5ld1NvdXJjZVBhdGhPckZpbGU6IFBhdGhPckZpbGU7XG5cbiAgLyoqXG4gICAqIFRoZSBvbGQgcGF0aCBvZiB0aGUgbGluay5cbiAgICovXG4gIG9sZFNvdXJjZVBhdGhPckZpbGU/OiBQYXRoT3JGaWxlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGZvcmNlIG1hcmtkb3duIGxpbmtzLlxuICAgKi9cbiAgc2hvdWxkRm9yY2VNYXJrZG93bkxpbmtzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byB1cGRhdGUgZmlsZW5hbWUgYWxpYXMuIERlZmF1bHRzIHRvIGB0cnVlYC5cbiAgICovXG4gIHNob3VsZFVwZGF0ZUZpbGVuYW1lQWxpYXM/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFdyYXBwZXIgZm9yIGRlZmF1bHQgb3B0aW9ucyBmb3IgZ2VuZXJhdGluZyBtYXJrZG93biBsaW5rcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZW5lcmF0ZU1hcmtkb3duTGlua0RlZmF1bHRPcHRpb25zV3JhcHBlciB7XG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCBvcHRpb25zIGZvciBnZW5lcmF0aW5nIG1hcmtkb3duIGxpbmtzLlxuICAgKi9cbiAgZGVmYXVsdE9wdGlvbnNGbjogKCkgPT4gUGFydGlhbDxHZW5lcmF0ZU1hcmtkb3duTGlua09wdGlvbnM+O1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGdlbmVyYXRpbmcgYSBtYXJrZG93biBsaW5rLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdlbmVyYXRlTWFya2Rvd25MaW5rT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgYWxpYXMgZm9yIHRoZSBsaW5rLlxuICAgKi9cbiAgYWxpYXM/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICBhcHA6IEFwcDtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBsaW5rIHNob3VsZCBiZSBlbWJlZGRlZC4gSWYgbm90IHByb3ZpZGVkLCBpdCB3aWxsIGJlIGluZmVycmVkIGJhc2VkIG9uIHRoZSBmaWxlIHR5cGUuXG4gICAqL1xuICBpc0VtYmVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBhbGxvdyBhbiBlbXB0eSBhbGlhcyBmb3IgZW1iZWRzLiBEZWZhdWx0cyB0byBgdHJ1ZWAuXG4gICAqL1xuICBpc0VtcHR5RW1iZWRBbGlhc0FsbG93ZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGFsbG93IG5vbi1leGlzdGluZyBmaWxlcy4gSWYgYGZhbHNlYCBhbmQgYHBhdGhPckZpbGVgIGlzIGEgbm9uLWV4aXN0aW5nIGZpbGUsIGFuIGVycm9yIHdpbGwgYmUgdGhyb3duLiBEZWZhdWx0cyB0byBgZmFsc2VgLlxuICAgKi9cbiAgaXNOb25FeGlzdGluZ0ZpbGVBbGxvd2VkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBsaW5rIHNob3VsZCBiZSBhIHdpa2lsaW5rLiBJZiBub3QgcHJvdmlkZWQsIGl0IHdpbGwgYmUgaW5mZXJyZWQgYmFzZWQgb24gdGhlIE9ic2lkaWFuIHNldHRpbmdzLlxuICAgKi9cbiAgaXNXaWtpbGluaz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAgKiBUaGUgb3JpZ2luYWwgbGluayB0ZXh0LiBJZiBwcm92aWRlZCwgaXQgd2lsbCBiZSB1c2VkIHRvIGluZmVyIHRoZSB2YWx1ZXMgb2YgYGlzRW1iZWRgLCBgaXNXaWtpbGlua2AsIGB1c2VMZWFkaW5nRG90YCwgYW5kIGB1c2VBbmdsZUJyYWNrZXRzYC5cbiAgICAqIFRoZXNlIGluZmVycmVkIHZhbHVlcyB3aWxsIGJlIG92ZXJyaWRkZW4gYnkgY29ycmVzcG9uZGluZyBzZXR0aW5ncyBpZiBzcGVjaWZpZWQuXG4gICAgKi9cbiAgb3JpZ2luYWxMaW5rPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGxpbmsgc2hvdWxkIGJlIHJlbGF0aXZlLiBJZiBub3QgcHJvdmlkZWQgb3IgYGZhbHNlYCwgaXQgd2lsbCBiZSBpbmZlcnJlZCBiYXNlZCBvbiB0aGUgT2JzaWRpYW4gc2V0dGluZ3MuXG4gICAqL1xuICBzaG91bGRGb3JjZVJlbGF0aXZlUGF0aD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gaW5jbHVkZSB0aGUgYXR0YWNobWVudCBleHRlbnNpb24gaW4gdGhlIGVtYmVkIGFsaWFzLiBIYXMgbm8gZWZmZWN0IGlmIGBhbGxvd0VtcHR5RW1iZWRBbGlhc2AgaXMgYHRydWVgLiBEZWZhdWx0cyB0byBgZmFsc2VgLlxuICAgKi9cbiAgc2hvdWxkSW5jbHVkZUF0dGFjaG1lbnRFeHRlbnNpb25Ub0VtYmVkQWxpYXM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGxpbmsgc2hvdWxkIHVzZSBhbmdsZSBicmFja2V0cy4gRGVmYXVsdHMgdG8gYGZhbHNlYC4gSGFzIG5vIGVmZmVjdCBpZiBgaXNXaWtpbGlua2AgaXMgYHRydWVgXG4gICAqL1xuICBzaG91bGRVc2VBbmdsZUJyYWNrZXRzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBsaW5rIHNob3VsZCB1c2UgYSBsZWFkaW5nIGRvdC4gRGVmYXVsdHMgdG8gYGZhbHNlYC4gSGFzIG5vIGVmZmVjdCBpZiBgaXNXaWtpbGlua2AgaXMgYHRydWVgIG9yIGBpc1JlbGF0aXZlYCBpcyBgZmFsc2VgLlxuICAgKi9cbiAgc2hvdWxkVXNlTGVhZGluZ0RvdD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBzb3VyY2UgcGF0aCBvZiB0aGUgbGluay5cbiAgICovXG4gIHNvdXJjZVBhdGhPckZpbGU6IFBhdGhPckZpbGU7XG5cbiAgLyoqXG4gICAqIFRoZSBzdWJwYXRoIG9mIHRoZSBsaW5rLlxuICAgKi9cbiAgc3VicGF0aD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHRhcmdldCBwYXRoIG9yIGZpbGUuXG4gICAqL1xuICB0YXJnZXRQYXRoT3JGaWxlOiBQYXRoT3JGaWxlO1xufVxuXG4vKipcbiAqIFRoZSByZXN1bHQgb2YgcGFyc2luZyBhIGxpbmsuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFyc2VMaW5rUmVzdWx0IHtcbiAgLyoqXG4gICAqIFRoZSBhbGlhcyBvZiB0aGUgbGluay5cbiAgICovXG4gIGFsaWFzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGxpbmsgaGFzIGFuZ2xlIGJyYWNrZXRzLlxuICAgKi9cbiAgaGFzQW5nbGVCcmFja2V0cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgbGluayBpcyBhbiBlbWJlZCBsaW5rLlxuICAgKi9cbiAgaXNFbWJlZDogYm9vbGVhbjtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBsaW5rIGlzIGV4dGVybmFsLlxuICAgKi9cbiAgaXNFeHRlcm5hbD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgbGluayBpcyBhIHdpa2lsaW5rLlxuICAgKi9cbiAgaXNXaWtpbGluazogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHRpdGxlIG9mIHRoZSBsaW5rLlxuICAgKi9cbiAgdGl0bGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBVUkwgb2YgdGhlIGxpbmsuXG4gICAqL1xuICB1cmw6IHN0cmluZztcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBkZXRlcm1pbmluZyBpZiB0aGUgYWxpYXMgb2YgYSBsaW5rIHNob3VsZCBiZSByZXNldC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTaG91bGRSZXNldEFsaWFzT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICAgKi9cbiAgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFRoZSBkaXNwbGF5IHRleHQgb2YgdGhlIGxpbmsuXG4gICAqL1xuICBkaXNwbGF5VGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGxpbmsgaXMgYSB3aWtpbGluay5cbiAgICovXG4gIGlzV2lraWxpbms/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgc291cmNlIHBhdGggb2YgdGhlIGxpbmsuXG4gICAqL1xuICBuZXdTb3VyY2VQYXRoT3JGaWxlOiBQYXRoT3JGaWxlO1xuXG4gIC8qKlxuICAgKiBUaGUgb2xkIHNvdXJjZSBmaWxlIGNvbnRhaW5pbmcgdGhlIGxpbmsuXG4gICAqL1xuICBvbGRTb3VyY2VQYXRoT3JGaWxlPzogUGF0aE9yRmlsZTtcblxuICAvKipcbiAgICogVGhlIG9sZCB0YXJnZXQgcGF0aCBvZiB0aGUgbGluay5cbiAgICovXG4gIG9sZFRhcmdldFBhdGg6IFBhdGhPckZpbGU7XG5cbiAgLyoqXG4gICAqIFRoZSB0YXJnZXQgcGF0aCBvciBmaWxlLlxuICAgKi9cbiAgdGFyZ2V0UGF0aE9yRmlsZTogUGF0aE9yRmlsZTtcbn1cblxuLyoqXG4gKiBTcGxpdHMgYSBsaW5rIGludG8gaXRzIGxpbmsgcGF0aCBhbmQgc3VicGF0aC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTcGxpdFN1YnBhdGhSZXN1bHQge1xuICAvKipcbiAgICogVGhlIGxpbmsgcGF0aC5cbiAgICovXG4gIGxpbmtQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzdWJwYXRoLlxuICAgKi9cbiAgc3VicGF0aDogc3RyaW5nO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHVwZGF0aW5nIGEgbGluay5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVMaW5rT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICAgKi9cbiAgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFRoZSByZWZlcmVuY2UgZm9yIHRoZSBsaW5rLlxuICAgKi9cbiAgbGluazogUmVmZXJlbmNlO1xuXG4gIC8qKlxuICAgKiBUaGUgc291cmNlIGZpbGUgY29udGFpbmluZyB0aGUgbGluay5cbiAgICovXG4gIG5ld1NvdXJjZVBhdGhPckZpbGU6IFBhdGhPckZpbGU7XG5cbiAgLyoqXG4gICAqIFRoZSBmaWxlIGFzc29jaWF0ZWQgd2l0aCB0aGUgbGluay5cbiAgICovXG4gIG5ld1RhcmdldFBhdGhPckZpbGU6IFBhdGhPckZpbGU7XG5cbiAgLyoqXG4gICAqIFRoZSBvbGQgc291cmNlIGZpbGUgY29udGFpbmluZyB0aGUgbGluay5cbiAgICovXG4gIG9sZFNvdXJjZVBhdGhPckZpbGU/OiBQYXRoT3JGaWxlO1xuXG4gIC8qKlxuICAgKiBUaGUgb2xkIHBhdGggb2YgdGhlIGZpbGUuXG4gICAqL1xuICBvbGRUYXJnZXRQYXRoT3JGaWxlPzogUGF0aE9yRmlsZTtcblxuICAvKipcbiAgICogV2hldGhlciB0byBmb3JjZSBtYXJrZG93biBsaW5rcy5cbiAgICovXG4gIHNob3VsZEZvcmNlTWFya2Rvd25MaW5rcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gdXBkYXRlIGZpbGVuYW1lIGFsaWFzLiBEZWZhdWx0cyB0byBgdHJ1ZWAuXG4gICAqL1xuICBzaG91bGRVcGRhdGVGaWxlbmFtZUFsaWFzPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciB1cGRhdGluZyBsaW5rcyBpbiBhIGZpbGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlTGlua3NJbkZpbGVPcHRpb25zIGV4dGVuZHMgUHJvY2Vzc09wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAgICovXG4gIGFwcDogQXBwO1xuXG4gIC8qKlxuICAgKiBUaGUgZmlsZSB0byB1cGRhdGUgdGhlIGxpbmtzIGluLlxuICAgKi9cbiAgbmV3U291cmNlUGF0aE9yRmlsZTogUGF0aE9yRmlsZTtcblxuICAvKipcbiAgICogVGhlIG9sZCBwYXRoIG9mIHRoZSBmaWxlLlxuICAgKi9cbiAgb2xkU291cmNlUGF0aE9yRmlsZT86IFBhdGhPckZpbGU7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZm9yY2UgdGhlIGxpbmtzIHRvIGJlIGluIE1hcmtkb3duIGZvcm1hdC5cbiAgICovXG4gIHNob3VsZEZvcmNlTWFya2Rvd25MaW5rcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gdXBkYXRlIG9ubHkgZW1iZWRkZWQgbGlua3MuXG4gICAqL1xuICBzaG91bGRVcGRhdGVFbWJlZE9ubHlMaW5rcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gdXBkYXRlIGZpbGVuYW1lIGFsaWFzLiBEZWZhdWx0cyB0byBgdHJ1ZWAuXG4gICAqL1xuICBzaG91bGRVcGRhdGVGaWxlbmFtZUFsaWFzPzogYm9vbGVhbjtcbn1cblxuaW50ZXJmYWNlIFdpa2lMaW5rTm9kZSB7XG4gIGRhdGE6IHtcbiAgICBhbGlhczogc3RyaW5nO1xuICB9O1xuICB2YWx1ZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgbGluayB0byBhIG5ldyBwYXRoLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIGNvbnZlcnRpbmcgdGhlIGxpbmsuXG4gKiBAcmV0dXJucyBUaGUgY29udmVydGVkIGxpbmsuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0TGluayhvcHRpb25zOiBDb252ZXJ0TGlua09wdGlvbnMpOiBzdHJpbmcge1xuICBjb25zdCB0YXJnZXRGaWxlID0gZXh0cmFjdExpbmtGaWxlKG9wdGlvbnMuYXBwLCBvcHRpb25zLmxpbmssIG9wdGlvbnMub2xkU291cmNlUGF0aE9yRmlsZSA/PyBvcHRpb25zLm5ld1NvdXJjZVBhdGhPckZpbGUpO1xuICBpZiAoIXRhcmdldEZpbGUpIHtcbiAgICByZXR1cm4gb3B0aW9ucy5saW5rLm9yaWdpbmFsO1xuICB9XG5cbiAgcmV0dXJuIHVwZGF0ZUxpbmsobm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzPFVwZGF0ZUxpbmtPcHRpb25zPih7XG4gICAgYXBwOiBvcHRpb25zLmFwcCxcbiAgICBsaW5rOiBvcHRpb25zLmxpbmssXG4gICAgbmV3U291cmNlUGF0aE9yRmlsZTogb3B0aW9ucy5uZXdTb3VyY2VQYXRoT3JGaWxlLFxuICAgIG5ld1RhcmdldFBhdGhPckZpbGU6IHRhcmdldEZpbGUsXG4gICAgb2xkU291cmNlUGF0aE9yRmlsZTogb3B0aW9ucy5vbGRTb3VyY2VQYXRoT3JGaWxlLFxuICAgIHNob3VsZEZvcmNlTWFya2Rvd25MaW5rczogb3B0aW9ucy5zaG91bGRGb3JjZU1hcmtkb3duTGlua3MsXG4gICAgc2hvdWxkVXBkYXRlRmlsZW5hbWVBbGlhczogb3B0aW9ucy5zaG91bGRVcGRhdGVGaWxlbmFtZUFsaWFzXG4gIH0pKTtcbn1cblxuLyoqXG4gKiBFZGl0cyB0aGUgYmFja2xpbmtzIGZvciBhIGZpbGUgb3IgcGF0aC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBmaWxlIHRvIGVkaXQgdGhlIGJhY2tsaW5rcyBmb3IuXG4gKiBAcGFyYW0gbGlua0NvbnZlcnRlciAtIFRoZSBmdW5jdGlvbiB0aGF0IGNvbnZlcnRzIGVhY2ggbGluay5cbiAqIEBwYXJhbSBwcm9jZXNzT3B0aW9ucyAtIE9wdGlvbmFsIG9wdGlvbnMgZm9yIHJldHJ5aW5nIHRoZSBvcGVyYXRpb24uXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBiYWNrbGlua3MgaGF2ZSBiZWVuIGVkaXRlZC5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1pbnZhbGlkLXZvaWQtdHlwZVxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVkaXRCYWNrbGlua3MoYXBwOiBBcHAsIHBhdGhPckZpbGU6IFBhdGhPckZpbGUsIGxpbmtDb252ZXJ0ZXI6IChsaW5rOiBSZWZlcmVuY2UpID0+IE1heWJlUHJvbWlzZTxzdHJpbmcgfCB2b2lkPiwgcHJvY2Vzc09wdGlvbnM6IFByb2Nlc3NPcHRpb25zID0ge30pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgYmFja2xpbmtzID0gYXdhaXQgZ2V0QmFja2xpbmtzRm9yRmlsZVNhZmUoYXBwLCBwYXRoT3JGaWxlLCBwcm9jZXNzT3B0aW9ucyk7XG4gIGZvciAoY29uc3QgYmFja2xpbmtOb3RlUGF0aCBvZiBiYWNrbGlua3Mua2V5cygpKSB7XG4gICAgY29uc3QgY3VycmVudExpbmtzID0gYmFja2xpbmtzLmdldChiYWNrbGlua05vdGVQYXRoKSA/PyBbXTtcbiAgICBjb25zdCBsaW5rSnNvbnMgPSBuZXcgU2V0PHN0cmluZz4oY3VycmVudExpbmtzLm1hcCgobGluaykgPT4gdG9Kc29uKGxpbmspKSk7XG4gICAgYXdhaXQgZWRpdExpbmtzKGFwcCwgYmFja2xpbmtOb3RlUGF0aCwgKGxpbmspID0+IHtcbiAgICAgIGNvbnN0IGxpbmtKc29uID0gdG9Kc29uKGxpbmspO1xuICAgICAgaWYgKCFsaW5rSnNvbnMuaGFzKGxpbmtKc29uKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBsaW5rQ29udmVydGVyKGxpbmspO1xuICAgIH0sIHByb2Nlc3NPcHRpb25zKTtcbiAgfVxufVxuXG4vKipcbiAqIEVkaXRzIHRoZSBsaW5rcyBpbiB0aGUgc3BlY2lmaWVkIGZpbGUgb3IgcGF0aCB1c2luZyB0aGUgcHJvdmlkZWQgbGluayBjb252ZXJ0ZXIgZnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgZmlsZSB0byBlZGl0IHRoZSBsaW5rcyBpbi5cbiAqIEBwYXJhbSBsaW5rQ29udmVydGVyIC0gVGhlIGZ1bmN0aW9uIHRoYXQgY29udmVydHMgZWFjaCBsaW5rLlxuICogQHBhcmFtIHByb2Nlc3NPcHRpb25zIC0gT3B0aW9uYWwgb3B0aW9ucyBmb3IgcHJvY2Vzc2luZy9yZXRyeWluZyB0aGUgb3BlcmF0aW9uLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgbGlua3MgaGF2ZSBiZWVuIGVkaXRlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVkaXRMaW5rcyhcbiAgYXBwOiBBcHAsXG4gIHBhdGhPckZpbGU6IFBhdGhPckZpbGUsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8taW52YWxpZC12b2lkLXR5cGVcbiAgbGlua0NvbnZlcnRlcjogKGxpbms6IFJlZmVyZW5jZSkgPT4gTWF5YmVQcm9taXNlPHN0cmluZyB8IHZvaWQ+LFxuICBwcm9jZXNzT3B0aW9uczogUHJvY2Vzc09wdGlvbnMgPSB7fSk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBhcHBseUZpbGVDaGFuZ2VzKGFwcCwgcGF0aE9yRmlsZSwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGNhY2hlID0gYXdhaXQgZ2V0Q2FjaGVTYWZlKGFwcCwgcGF0aE9yRmlsZSk7XG4gICAgaWYgKCFjYWNoZSkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGNvbnN0IGNoYW5nZXM6IEZpbGVDaGFuZ2VbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBsaW5rIG9mIGdldEFsbExpbmtzKGNhY2hlKSkge1xuICAgICAgY29uc3QgbmV3Q29udGVudCA9IGF3YWl0IGxpbmtDb252ZXJ0ZXIobGluayk7XG4gICAgICBpZiAobmV3Q29udGVudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBjaGFuZ2VzLnB1c2gocmVmZXJlbmNlVG9GaWxlQ2hhbmdlKGxpbmssIG5ld0NvbnRlbnQpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2hhbmdlcztcbiAgfSwgcHJvY2Vzc09wdGlvbnMpO1xufVxuXG4vKipcbiAqIEV4dHJhY3RzIHRoZSBmaWxlIGFzc29jaWF0ZWQgd2l0aCBhIGxpbmsuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBsaW5rIC0gVGhlIHJlZmVyZW5jZSBjYWNoZSBmb3IgdGhlIGxpbmsuXG4gKiBAcGFyYW0gc291cmNlUGF0aE9yRmlsZSAtIFRoZSBzb3VyY2UgcGF0aCBvciBmaWxlLlxuICogQHJldHVybnMgVGhlIGZpbGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBsaW5rLCBvciBudWxsIGlmIG5vdCBmb3VuZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RMaW5rRmlsZShhcHA6IEFwcCwgbGluazogUmVmZXJlbmNlLCBzb3VyY2VQYXRoT3JGaWxlOiBQYXRoT3JGaWxlKTogbnVsbCB8IFRGaWxlIHtcbiAgY29uc3QgeyBsaW5rUGF0aCB9ID0gc3BsaXRTdWJwYXRoKGxpbmsubGluayk7XG4gIHJldHVybiBhcHAubWV0YWRhdGFDYWNoZS5nZXRGaXJzdExpbmtwYXRoRGVzdChsaW5rUGF0aCwgZ2V0UGF0aChhcHAsIHNvdXJjZVBhdGhPckZpbGUpKTtcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZXMgYSBtYXJrZG93biBsaW5rIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIGdlbmVyYXRpbmcgdGhlIG1hcmtkb3duIGxpbmsuXG4gKiBAcmV0dXJucyBUaGUgZ2VuZXJhdGVkIG1hcmtkb3duIGxpbmsuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZU1hcmtkb3duTGluayhvcHRpb25zOiBHZW5lcmF0ZU1hcmtkb3duTGlua09wdGlvbnMpOiBzdHJpbmcge1xuICBjb25zdCB7IGFwcCB9ID0gb3B0aW9ucztcblxuICBjb25zdCBjb25maWd1cmFibGVEZWZhdWx0T3B0aW9uc0ZuID0gKGFwcC5maWxlTWFuYWdlci5nZW5lcmF0ZU1hcmtkb3duTGluayBhcyBQYXJ0aWFsPEdlbmVyYXRlTWFya2Rvd25MaW5rRGVmYXVsdE9wdGlvbnNXcmFwcGVyPikuZGVmYXVsdE9wdGlvbnNGbiA/PyAoKCk6IFBhcnRpYWw8R2VuZXJhdGVNYXJrZG93bkxpbmtPcHRpb25zPiA9PiAoe30pKTtcbiAgY29uc3QgY29uZmlndXJhYmxlRGVmYXVsdE9wdGlvbnMgPSBjb25maWd1cmFibGVEZWZhdWx0T3B0aW9uc0ZuKCk7XG5cbiAgY29uc3QgREVGQVVMVF9PUFRJT05TOiBQYXJ0aWFsPEdlbmVyYXRlTWFya2Rvd25MaW5rT3B0aW9ucz4gPSB7XG4gICAgaXNFbXB0eUVtYmVkQWxpYXNBbGxvd2VkOiB0cnVlXG4gIH07XG5cbiAgb3B0aW9ucyA9IHsgLi4uREVGQVVMVF9PUFRJT05TLCAuLi5jb25maWd1cmFibGVEZWZhdWx0T3B0aW9ucywgLi4ub3B0aW9ucyB9O1xuXG4gIGNvbnN0IHRhcmdldEZpbGUgPSBnZXRGaWxlKGFwcCwgb3B0aW9ucy50YXJnZXRQYXRoT3JGaWxlLCBvcHRpb25zLmlzTm9uRXhpc3RpbmdGaWxlQWxsb3dlZCk7XG5cbiAgcmV0dXJuIHRlbXBSZWdpc3RlckZpbGVBbmRSdW4oYXBwLCB0YXJnZXRGaWxlLCAoKSA9PiB7XG4gICAgY29uc3Qgc291cmNlUGF0aCA9IGdldFBhdGgoYXBwLCBvcHRpb25zLnNvdXJjZVBhdGhPckZpbGUpO1xuICAgIGNvbnN0IHN1YnBhdGggPSBvcHRpb25zLnN1YnBhdGggPz8gJyc7XG4gICAgbGV0IGFsaWFzID0gb3B0aW9ucy5hbGlhcyA/PyAnJztcbiAgICBjb25zdCBpc0VtYmVkID0gb3B0aW9ucy5pc0VtYmVkID8/IChvcHRpb25zLm9yaWdpbmFsTGluayA/IHRlc3RFbWJlZChvcHRpb25zLm9yaWdpbmFsTGluaykgOiB1bmRlZmluZWQpID8/ICFpc01hcmtkb3duRmlsZShhcHAsIHRhcmdldEZpbGUpO1xuICAgIGNvbnN0IGlzV2lraWxpbmsgPSBvcHRpb25zLmlzV2lraWxpbmsgPz8gKG9wdGlvbnMub3JpZ2luYWxMaW5rID8gdGVzdFdpa2lsaW5rKG9wdGlvbnMub3JpZ2luYWxMaW5rKSA6IHVuZGVmaW5lZCkgPz8gc2hvdWxkVXNlV2lraWxpbmtzKGFwcCk7XG4gICAgY29uc3Qgc2hvdWxkRm9yY2VSZWxhdGl2ZVBhdGggPSBvcHRpb25zLnNob3VsZEZvcmNlUmVsYXRpdmVQYXRoID8/IHNob3VsZFVzZVJlbGF0aXZlTGlua3MoYXBwKTtcbiAgICBjb25zdCBzaG91bGRVc2VMZWFkaW5nRG90ID0gb3B0aW9ucy5zaG91bGRVc2VMZWFkaW5nRG90ID8/IChvcHRpb25zLm9yaWdpbmFsTGluayA/IHRlc3RMZWFkaW5nRG90KG9wdGlvbnMub3JpZ2luYWxMaW5rKSA6IHVuZGVmaW5lZCkgPz8gZmFsc2U7XG4gICAgY29uc3Qgc2hvdWxkVXNlQW5nbGVCcmFja2V0cyA9IG9wdGlvbnMuc2hvdWxkVXNlQW5nbGVCcmFja2V0cyA/PyAob3B0aW9ucy5vcmlnaW5hbExpbmsgPyB0ZXN0QW5nbGVCcmFja2V0cyhvcHRpb25zLm9yaWdpbmFsTGluaykgOiB1bmRlZmluZWQpID8/IGZhbHNlO1xuXG4gICAgbGV0IGxpbmtUZXh0ID0gdGFyZ2V0RmlsZS5wYXRoID09PSBzb3VyY2VQYXRoICYmIHN1YnBhdGhcbiAgICAgID8gc3VicGF0aFxuICAgICAgOiBzaG91bGRGb3JjZVJlbGF0aXZlUGF0aFxuICAgICAgICA/IHJlbGF0aXZlKGRpcm5hbWUoc291cmNlUGF0aCksIGlzV2lraWxpbmsgPyB0cmltTWFya2Rvd25FeHRlbnNpb24oYXBwLCB0YXJnZXRGaWxlKSA6IHRhcmdldEZpbGUucGF0aCkgKyBzdWJwYXRoXG4gICAgICAgIDogYXBwLm1ldGFkYXRhQ2FjaGUuZmlsZVRvTGlua3RleHQodGFyZ2V0RmlsZSwgc291cmNlUGF0aCwgaXNXaWtpbGluaykgKyBzdWJwYXRoO1xuXG4gICAgaWYgKHNob3VsZEZvcmNlUmVsYXRpdmVQYXRoICYmIHNob3VsZFVzZUxlYWRpbmdEb3QgJiYgIWxpbmtUZXh0LnN0YXJ0c1dpdGgoJy4nKSAmJiAhbGlua1RleHQuc3RhcnRzV2l0aCgnIycpKSB7XG4gICAgICBsaW5rVGV4dCA9ICcuLycgKyBsaW5rVGV4dDtcbiAgICB9XG5cbiAgICBjb25zdCBlbWJlZFByZWZpeCA9IGlzRW1iZWQgPyAnIScgOiAnJztcblxuICAgIGlmICghaXNXaWtpbGluaykge1xuICAgICAgaWYgKHNob3VsZFVzZUFuZ2xlQnJhY2tldHMpIHtcbiAgICAgICAgbGlua1RleHQgPSBgPCR7bGlua1RleHR9PmA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsaW5rVGV4dCA9IHJlcGxhY2VBbGwobGlua1RleHQsIFNQRUNJQUxfTElOS19TWU1CT0xTX1JFR0VYUCwgKHsgc3Vic3RyaW5nOiBzcGVjaWFsTGlua1N5bWJvbCB9KSA9PiBlbmNvZGVVUklDb21wb25lbnQoc3BlY2lhbExpbmtTeW1ib2wpKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFhbGlhcyAmJiAoIWlzRW1iZWQgfHwgIW9wdGlvbnMuaXNFbXB0eUVtYmVkQWxpYXNBbGxvd2VkKSkge1xuICAgICAgICBhbGlhcyA9ICFvcHRpb25zLnNob3VsZEluY2x1ZGVBdHRhY2htZW50RXh0ZW5zaW9uVG9FbWJlZEFsaWFzIHx8IGlzTWFya2Rvd25GaWxlKGFwcCwgdGFyZ2V0RmlsZSkgPyB0YXJnZXRGaWxlLmJhc2VuYW1lIDogdGFyZ2V0RmlsZS5uYW1lO1xuICAgICAgfVxuXG4gICAgICBhbGlhcyA9IHJlcGxhY2VBbGwoYWxpYXMsIFNQRUNJQUxfTUFSS0RPV05fTElOS19TWU1CT0xTX1JFR0VYLCAnXFxcXCQmJyk7XG5cbiAgICAgIHJldHVybiBgJHtlbWJlZFByZWZpeH1bJHthbGlhc31dKCR7bGlua1RleHR9KWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChhbGlhcyAmJiBhbGlhcy50b0xvd2VyQ2FzZSgpID09PSBsaW5rVGV4dC50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICAgIGxpbmtUZXh0ID0gYWxpYXM7XG4gICAgICAgIGFsaWFzID0gJyc7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGFsaWFzUGFydCA9IGFsaWFzID8gYHwke2FsaWFzfWAgOiAnJztcbiAgICAgIHJldHVybiBgJHtlbWJlZFByZWZpeH1bWyR7bGlua1RleHR9JHthbGlhc1BhcnR9XV1gO1xuICAgIH1cbiAgfSk7XG59XG5cbi8qKlxuICogUGFyc2VzIGEgbGluayBpbnRvIGl0cyBjb21wb25lbnRzLlxuICpcbiAqIEBwYXJhbSBzdHIgLSBUaGUgbGluayB0byBwYXJzZS5cbiAqIEByZXR1cm5zIFRoZSBwYXJzZWQgbGluay5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlTGluayhzdHI6IHN0cmluZyk6IG51bGwgfCBQYXJzZUxpbmtSZXN1bHQge1xuICBpZiAoaXNVcmwoc3RyKSkge1xuICAgIHJldHVybiB7XG4gICAgICBpc0VtYmVkOiBmYWxzZSxcbiAgICAgIGlzRXh0ZXJuYWw6IHRydWUsXG4gICAgICBpc1dpa2lsaW5rOiBmYWxzZSxcbiAgICAgIHVybDogc3RyXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0IEVNQkVEX1BSRUZJWCA9ICchJztcbiAgY29uc3QgT1BFTl9BTkdMRV9CUkFDS0VUID0gJzwnO1xuICBjb25zdCBMSU5LX0FMSUFTX1NVRkZJWCA9ICddKCc7XG4gIGNvbnN0IExJTktfU1VGRklYID0gJyknO1xuICBjb25zdCBXSUtJTElOS19ESVZJREVSID0gJ3wnO1xuXG4gIGNvbnN0IGlzRW1iZWQgPSBzdHIuc3RhcnRzV2l0aChFTUJFRF9QUkVGSVgpO1xuICBpZiAoaXNFbWJlZCkge1xuICAgIHN0ciA9IHRyaW1TdGFydChzdHIsIEVNQkVEX1BSRUZJWCk7XG4gIH1cbiAgY29uc3QgcHJvY2Vzc29yID0gcmVtYXJrKCkudXNlKHJlbWFya1BhcnNlKS51c2Uod2lraUxpbmtQbHVnaW4sIHsgYWxpYXNEaXZpZGVyOiBXSUtJTElOS19ESVZJREVSIH0pO1xuICBjb25zdCByb290ID0gcHJvY2Vzc29yLnBhcnNlKHN0cik7XG5cbiAgaWYgKHJvb3QuY2hpbGRyZW4ubGVuZ3RoICE9PSAxKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBwYXJhZ3JhcGggPSByb290LmNoaWxkcmVuWzBdO1xuXG4gIGlmIChwYXJhZ3JhcGg/LnR5cGUgIT09ICdwYXJhZ3JhcGgnKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBpZiAocGFyYWdyYXBoLmNoaWxkcmVuLmxlbmd0aCAhPT0gMSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3Qgbm9kZSA9IHBhcmFncmFwaC5jaGlsZHJlblswXTtcblxuICBpZiAobm9kZT8ucG9zaXRpb24/LnN0YXJ0Lm9mZnNldCAhPT0gMCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKG5vZGUucG9zaXRpb24uZW5kLm9mZnNldCAhPT0gc3RyLmxlbmd0aCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgc3dpdGNoIChub2RlLnR5cGUgYXMgc3RyaW5nKSB7XG4gICAgY2FzZSAnbGluayc6IHtcbiAgICAgIGNvbnN0IGxpbmtOb2RlID0gbm9kZSBhcyBMaW5rO1xuICAgICAgY29uc3QgYWxpYXNOb2RlID0gbGlua05vZGUuY2hpbGRyZW5bMF0gYXMgVGV4dCB8IHVuZGVmaW5lZDtcbiAgICAgIGNvbnN0IHJhd1VybCA9IHN0ci5zbGljZSgoYWxpYXNOb2RlPy5wb3NpdGlvbj8uZW5kLm9mZnNldCA/PyAxKSArIExJTktfQUxJQVNfU1VGRklYLmxlbmd0aCwgKGxpbmtOb2RlLnBvc2l0aW9uPy5lbmQub2Zmc2V0ID8/IDApIC0gTElOS19TVUZGSVgubGVuZ3RoKTtcbiAgICAgIGNvbnN0IGhhc0FuZ2xlQnJhY2tldHMgPSBzdHIuc3RhcnRzV2l0aChPUEVOX0FOR0xFX0JSQUNLRVQpIHx8IHJhd1VybC5zdGFydHNXaXRoKE9QRU5fQU5HTEVfQlJBQ0tFVCk7XG4gICAgICBjb25zdCBpc0V4dGVybmFsID0gaXNVcmwobGlua05vZGUudXJsKTtcbiAgICAgIGxldCB1cmwgPSBsaW5rTm9kZS51cmw7XG4gICAgICBpZiAoIWlzRXh0ZXJuYWwpIHtcbiAgICAgICAgaWYgKCFoYXNBbmdsZUJyYWNrZXRzKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHVybCA9IGRlY29kZVVSSUNvbXBvbmVudCh1cmwpO1xuICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gZGVjb2RlIFVSTCAke3VybH1gLCBlcnJvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzPFBhcnNlTGlua1Jlc3VsdD4oe1xuICAgICAgICBhbGlhczogYWxpYXNOb2RlPy52YWx1ZSxcbiAgICAgICAgaGFzQW5nbGVCcmFja2V0cyxcbiAgICAgICAgaXNFbWJlZCxcbiAgICAgICAgaXNFeHRlcm5hbCxcbiAgICAgICAgaXNXaWtpbGluazogZmFsc2UsXG4gICAgICAgIHRpdGxlOiBsaW5rTm9kZS50aXRsZSA/PyB1bmRlZmluZWQsXG4gICAgICAgIHVybFxuICAgICAgfSk7XG4gICAgfVxuICAgIGNhc2UgJ3dpa2lMaW5rJzoge1xuICAgICAgY29uc3Qgd2lraUxpbmtOb2RlID0gbm9kZSBhcyB1bmtub3duIGFzIFdpa2lMaW5rTm9kZTtcbiAgICAgIHJldHVybiBub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXM8UGFyc2VMaW5rUmVzdWx0Pih7XG4gICAgICAgIGFsaWFzOiBzdHIuaW5jbHVkZXMoV0lLSUxJTktfRElWSURFUikgPyB3aWtpTGlua05vZGUuZGF0YS5hbGlhcyA6IHVuZGVmaW5lZCxcbiAgICAgICAgaXNFbWJlZCxcbiAgICAgICAgaXNXaWtpbGluazogdHJ1ZSxcbiAgICAgICAgdXJsOiB3aWtpTGlua05vZGUudmFsdWVcbiAgICAgIH0pO1xuICAgIH1cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIGlmIHRoZSBhbGlhcyBvZiBhIGxpbmsgc2hvdWxkIGJlIHJlc2V0LlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIGRldGVybWluaW5nIGlmIHRoZSBhbGlhcyBzaG91bGQgYmUgcmVzZXQuXG4gKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBhbGlhcyBzaG91bGQgYmUgcmVzZXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzaG91bGRSZXNldEFsaWFzKG9wdGlvbnM6IFNob3VsZFJlc2V0QWxpYXNPcHRpb25zKTogYm9vbGVhbiB7XG4gIGNvbnN0IHtcbiAgICBhcHAsXG4gICAgZGlzcGxheVRleHQsXG4gICAgaXNXaWtpbGluayxcbiAgICBuZXdTb3VyY2VQYXRoT3JGaWxlLFxuICAgIG9sZFNvdXJjZVBhdGhPckZpbGUsXG4gICAgb2xkVGFyZ2V0UGF0aCxcbiAgICB0YXJnZXRQYXRoT3JGaWxlXG4gIH0gPSBvcHRpb25zO1xuICBpZiAoaXNXaWtpbGluayA9PT0gZmFsc2UpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoIWRpc3BsYXlUZXh0KSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBjb25zdCB0YXJnZXRGaWxlID0gZ2V0RmlsZShhcHAsIHRhcmdldFBhdGhPckZpbGUsIHRydWUpO1xuICBjb25zdCBuZXdTb3VyY2VQYXRoID0gZ2V0UGF0aChhcHAsIG5ld1NvdXJjZVBhdGhPckZpbGUpO1xuICBjb25zdCBvbGRTb3VyY2VQYXRoID0gZ2V0UGF0aChhcHAsIG9sZFNvdXJjZVBhdGhPckZpbGUgPz8gbmV3U291cmNlUGF0aE9yRmlsZSk7XG4gIGNvbnN0IG5ld1NvdXJjZURpciA9IGRpcm5hbWUobmV3U291cmNlUGF0aCk7XG4gIGNvbnN0IG9sZFNvdXJjZURpciA9IGRpcm5hbWUob2xkU291cmNlUGF0aCk7XG4gIGNvbnN0IGFsaWFzZXNUb1Jlc2V0ID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgZm9yIChjb25zdCBwYXRoT3JGaWxlIG9mIFt0YXJnZXRGaWxlLnBhdGgsIG9sZFRhcmdldFBhdGhdKSB7XG4gICAgaWYgKCFwYXRoT3JGaWxlKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXRoID0gZ2V0UGF0aChhcHAsIHBhdGhPckZpbGUpO1xuICAgIGFsaWFzZXNUb1Jlc2V0LmFkZChwYXRoKTtcbiAgICBhbGlhc2VzVG9SZXNldC5hZGQoYmFzZW5hbWUocGF0aCkpO1xuICAgIGFsaWFzZXNUb1Jlc2V0LmFkZChyZWxhdGl2ZShuZXdTb3VyY2VEaXIsIHBhdGgpKTtcbiAgICBhbGlhc2VzVG9SZXNldC5hZGQocmVsYXRpdmUob2xkU291cmNlRGlyLCBwYXRoKSk7XG4gIH1cblxuICBmb3IgKGNvbnN0IHNvdXJjZVBhdGggb2YgW29sZFNvdXJjZVBhdGgsIG5ld1NvdXJjZVBhdGhdKSB7XG4gICAgYWxpYXNlc1RvUmVzZXQuYWRkKGFwcC5tZXRhZGF0YUNhY2hlLmZpbGVUb0xpbmt0ZXh0KHRhcmdldEZpbGUsIHNvdXJjZVBhdGgsIGZhbHNlKSk7XG4gIH1cblxuICBjb25zdCBjbGVhbkRpc3BsYXlUZXh0ID0gcmVwbGFjZUFsbChub3JtYWxpemVQYXRoKGRpc3BsYXlUZXh0LnNwbGl0KCcgPiAnKVswXSA/PyAnJyksIC9eXFwuXFwvL2csICcnKS50b0xvd2VyQ2FzZSgpO1xuXG4gIGZvciAoY29uc3QgYWxpYXMgb2YgYWxpYXNlc1RvUmVzZXQpIHtcbiAgICBpZiAoYWxpYXMudG9Mb3dlckNhc2UoKSA9PT0gY2xlYW5EaXNwbGF5VGV4dCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgY29uc3QgZGlyID0gZGlybmFtZShhbGlhcyk7XG4gICAgY29uc3QgYmFzZSA9IGJhc2VuYW1lKGFsaWFzLCBleHRuYW1lKGFsaWFzKSk7XG4gICAgaWYgKGpvaW4oZGlyLCBiYXNlKS50b0xvd2VyQ2FzZSgpID09PSBjbGVhbkRpc3BsYXlUZXh0KSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbi8qKlxuICogU3BsaXRzIGEgbGluayBpbnRvIGl0cyBsaW5rIHBhdGggYW5kIHN1YnBhdGguXG4gKlxuICogQHBhcmFtIGxpbmsgLSBUaGUgbGluayB0byBzcGxpdC5cbiAqIEByZXR1cm5zIEFuIG9iamVjdCBjb250YWluaW5nIHRoZSBsaW5rIHBhdGggYW5kIHN1YnBhdGguXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzcGxpdFN1YnBhdGgobGluazogc3RyaW5nKTogU3BsaXRTdWJwYXRoUmVzdWx0IHtcbiAgY29uc3QgcGFyc2VkID0gcGFyc2VMaW5rdGV4dChub3JtYWxpemUobGluaykpO1xuICByZXR1cm4ge1xuICAgIGxpbmtQYXRoOiBwYXJzZWQucGF0aCxcbiAgICBzdWJwYXRoOiBwYXJzZWQuc3VicGF0aFxuICB9O1xufVxuXG4vKipcbiAqIFRlc3RzIHdoZXRoZXIgYSBsaW5rIHVzZXMgYW5nbGUgYnJhY2tldHMsIHBvc3NpYmx5IGVtYmVkOlxuICogYFt0aXRsZV0oPGxpbms+KWAsIGAhW3RpdGxlXSg8bGluaz4pYC5cbiAqXG4gKiBAcGFyYW0gbGluayAtIExpbmsgdG8gdGVzdFxuICogQHJldHVybnMgV2hldGhlciB0aGUgbGluayB1c2VzIGFuZ2xlIGJyYWNrZXRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0ZXN0QW5nbGVCcmFja2V0cyhsaW5rOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgY29uc3QgcGFyc2VMaW5rUmVzdWx0ID0gcGFyc2VMaW5rKGxpbmspO1xuICByZXR1cm4gcGFyc2VMaW5rUmVzdWx0Py5oYXNBbmdsZUJyYWNrZXRzID8/IGZhbHNlO1xufVxuXG4vKipcbiAqIFRlc3RzIHdoZXRoZXIgYSBsaW5rIGlzIGFuIGVtYmVkIGxpbms6XG4gKiBgIVtbbGlua11dYCwgYCFbdGl0bGVdKGxpbmspYC5cbiAqXG4gKiBAcGFyYW0gbGluayAtIExpbmsgdG8gdGVzdFxuICogQHJldHVybnMgV2hldGhlciB0aGUgbGluayBpcyBhbiBlbWJlZCBsaW5rXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0ZXN0RW1iZWQobGluazogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGNvbnN0IHBhcnNlTGlua1Jlc3VsdCA9IHBhcnNlTGluayhsaW5rKTtcbiAgcmV0dXJuIHBhcnNlTGlua1Jlc3VsdD8uaXNFbWJlZCA/PyBmYWxzZTtcbn1cblxuLyoqXG4gKiBUZXN0cyB3aGV0aGVyIGEgbGluayBoYXMgYSBsZWFkaW5nIGRvdCwgcG9zc2libHkgZW1iZWQ6XG4gKiBgW1suL2xpbmtdXWAsIGBbdGl0bGVdKC4vbGluaylgLCBgW3RpdGxlXSg8Li9saW5rPilgLFxuICogYCFbWy4vbGlua11dYCwgYCFbdGl0bGVdKC4vbGluaylgLCBgIVt0aXRsZV0oPC4vbGluaz4pYC5cbiAqXG4gKiBAcGFyYW0gbGluayAtIExpbmsgdG8gdGVzdFxuICogQHJldHVybnMgV2hldGhlciB0aGUgbGluayBoYXMgYSBsZWFkaW5nIGRvdFxuICovXG5leHBvcnQgZnVuY3Rpb24gdGVzdExlYWRpbmdEb3QobGluazogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGNvbnN0IHBhcnNlTGlua1Jlc3VsdCA9IHBhcnNlTGluayhsaW5rKTtcbiAgcmV0dXJuIHBhcnNlTGlua1Jlc3VsdD8udXJsLnN0YXJ0c1dpdGgoJy4vJykgPz8gZmFsc2U7XG59XG5cbi8qKlxuICogVGVzdHMgd2hldGhlciBhIGxpbmsgaXMgYSB3aWtpbGluaywgcG9zc2libHkgZW1iZWQ6XG4gKiBgW1tsaW5rXV1gLCBgIVtbbGlua11dYC5cbiAqXG4gKiBAcGFyYW0gbGluayAtIExpbmsgdG8gdGVzdFxuICogQHJldHVybnMgV2hldGhlciB0aGUgbGluayBpcyBhIHdpa2lsaW5rXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0ZXN0V2lraWxpbmsobGluazogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGNvbnN0IHBhcnNlTGlua1Jlc3VsdCA9IHBhcnNlTGluayhsaW5rKTtcbiAgcmV0dXJuIHBhcnNlTGlua1Jlc3VsdD8uaXNXaWtpbGluayA/PyBmYWxzZTtcbn1cblxuLyoqXG4gKiBVcGRhdGVzIGEgbGluayBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcGFyYW1ldGVycy5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciB1cGRhdGluZyB0aGUgbGluay5cbiAqIEByZXR1cm5zIFRoZSB1cGRhdGVkIGxpbmsuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVMaW5rKG9wdGlvbnM6IFVwZGF0ZUxpbmtPcHRpb25zKTogc3RyaW5nIHtcbiAgY29uc3Qge1xuICAgIGFwcCxcbiAgICBsaW5rLFxuICAgIG5ld1NvdXJjZVBhdGhPckZpbGU6IG5ld1NvdXJjZVBhdGhPckZpbGUsXG4gICAgbmV3VGFyZ2V0UGF0aE9yRmlsZSxcbiAgICBvbGRTb3VyY2VQYXRoT3JGaWxlLFxuICAgIG9sZFRhcmdldFBhdGhPckZpbGUsXG4gICAgc2hvdWxkRm9yY2VNYXJrZG93bkxpbmtzLFxuICAgIHNob3VsZFVwZGF0ZUZpbGVuYW1lQWxpYXNcbiAgfSA9IG9wdGlvbnM7XG4gIGlmICghbmV3VGFyZ2V0UGF0aE9yRmlsZSkge1xuICAgIHJldHVybiBsaW5rLm9yaWdpbmFsO1xuICB9XG4gIGNvbnN0IHRhcmdldEZpbGUgPSBnZXRGaWxlKGFwcCwgbmV3VGFyZ2V0UGF0aE9yRmlsZSwgdHJ1ZSk7XG4gIGNvbnN0IG9sZFRhcmdldFBhdGggPSBnZXRQYXRoKGFwcCwgb2xkVGFyZ2V0UGF0aE9yRmlsZSA/PyBuZXdUYXJnZXRQYXRoT3JGaWxlKTtcbiAgY29uc3QgaXNXaWtpbGluayA9IHRlc3RXaWtpbGluayhsaW5rLm9yaWdpbmFsKSAmJiBzaG91bGRGb3JjZU1hcmtkb3duTGlua3MgIT09IHRydWU7XG4gIGNvbnN0IHsgc3VicGF0aCB9ID0gc3BsaXRTdWJwYXRoKGxpbmsubGluayk7XG5cbiAgaWYgKGlzQ2FudmFzRmlsZShhcHAsIG5ld1NvdXJjZVBhdGhPckZpbGUpKSB7XG4gICAgcmV0dXJuIHRhcmdldEZpbGUucGF0aCArIHN1YnBhdGg7XG4gIH1cblxuICBsZXQgYWxpYXMgPSBzaG91bGRSZXNldEFsaWFzKG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllczxTaG91bGRSZXNldEFsaWFzT3B0aW9ucz4oe1xuICAgIGFwcCxcbiAgICBkaXNwbGF5VGV4dDogbGluay5kaXNwbGF5VGV4dCxcbiAgICBpc1dpa2lsaW5rLFxuICAgIG5ld1NvdXJjZVBhdGhPckZpbGUsXG4gICAgb2xkU291cmNlUGF0aE9yRmlsZSxcbiAgICBvbGRUYXJnZXRQYXRoLFxuICAgIHRhcmdldFBhdGhPckZpbGU6IHRhcmdldEZpbGVcbiAgfSkpXG4gICAgPyB1bmRlZmluZWRcbiAgICA6IGxpbmsuZGlzcGxheVRleHQ7XG5cbiAgaWYgKHNob3VsZFVwZGF0ZUZpbGVuYW1lQWxpYXMgPz8gdHJ1ZSkge1xuICAgIGlmIChhbGlhcyA9PT0gYmFzZW5hbWUob2xkVGFyZ2V0UGF0aCwgZXh0bmFtZShvbGRUYXJnZXRQYXRoKSkpIHtcbiAgICAgIGFsaWFzID0gdGFyZ2V0RmlsZS5iYXNlbmFtZTtcbiAgICB9IGVsc2UgaWYgKGFsaWFzID09PSBiYXNlbmFtZShvbGRUYXJnZXRQYXRoKSkge1xuICAgICAgYWxpYXMgPSB0YXJnZXRGaWxlLm5hbWU7XG4gICAgfVxuICB9XG5cbiAgY29uc3QgbmV3TGluayA9IGdlbmVyYXRlTWFya2Rvd25MaW5rKG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllczxHZW5lcmF0ZU1hcmtkb3duTGlua09wdGlvbnM+KHtcbiAgICBhbGlhcyxcbiAgICBhcHAsXG4gICAgaXNXaWtpbGluazogc2hvdWxkRm9yY2VNYXJrZG93bkxpbmtzID8gZmFsc2UgOiB1bmRlZmluZWQsXG4gICAgb3JpZ2luYWxMaW5rOiBsaW5rLm9yaWdpbmFsLFxuICAgIHNvdXJjZVBhdGhPckZpbGU6IG5ld1NvdXJjZVBhdGhPckZpbGUsXG4gICAgc3VicGF0aCxcbiAgICB0YXJnZXRQYXRoT3JGaWxlOiB0YXJnZXRGaWxlXG4gIH0pKTtcbiAgcmV0dXJuIG5ld0xpbms7XG59XG5cbi8qKlxuICogVXBkYXRlcyB0aGUgbGlua3MgaW4gYSBmaWxlIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIHVwZGF0aW5nIHRoZSBsaW5rcy5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGxpbmtzIGFyZSB1cGRhdGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdXBkYXRlTGlua3NJbkZpbGUob3B0aW9uczogVXBkYXRlTGlua3NJbkZpbGVPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHtcbiAgICBhcHAsXG4gICAgbmV3U291cmNlUGF0aE9yRmlsZSxcbiAgICBvbGRTb3VyY2VQYXRoT3JGaWxlLFxuICAgIHNob3VsZEZvcmNlTWFya2Rvd25MaW5rcyxcbiAgICBzaG91bGRVcGRhdGVFbWJlZE9ubHlMaW5rcyxcbiAgICBzaG91bGRVcGRhdGVGaWxlbmFtZUFsaWFzXG4gIH0gPSBvcHRpb25zO1xuXG4gIGlmIChpc0NhbnZhc0ZpbGUoYXBwLCBuZXdTb3VyY2VQYXRoT3JGaWxlKSAmJiAhYXBwLmludGVybmFsUGx1Z2lucy5nZXRFbmFibGVkUGx1Z2luQnlJZCgnY2FudmFzJykpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBhd2FpdCBlZGl0TGlua3MoYXBwLCBuZXdTb3VyY2VQYXRoT3JGaWxlLCAobGluaykgPT4ge1xuICAgIGNvbnN0IGlzRW1iZWRMaW5rID0gdGVzdEVtYmVkKGxpbmsub3JpZ2luYWwpO1xuICAgIGlmIChzaG91bGRVcGRhdGVFbWJlZE9ubHlMaW5rcyAhPT0gdW5kZWZpbmVkICYmIHNob3VsZFVwZGF0ZUVtYmVkT25seUxpbmtzICE9PSBpc0VtYmVkTGluaykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICByZXR1cm4gY29udmVydExpbmsobm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzPENvbnZlcnRMaW5rT3B0aW9ucz4oe1xuICAgICAgYXBwLFxuICAgICAgbGluayxcbiAgICAgIG5ld1NvdXJjZVBhdGhPckZpbGUsXG4gICAgICBvbGRTb3VyY2VQYXRoT3JGaWxlLFxuICAgICAgc2hvdWxkRm9yY2VNYXJrZG93bkxpbmtzLFxuICAgICAgc2hvdWxkVXBkYXRlRmlsZW5hbWVBbGlhc1xuICAgIH0pKTtcbiAgfSwg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
@@ -34,7 +34,7 @@ var import_Debug = require('../Debug.cjs');
34
34
  var import_Error = require('../Error.cjs');
35
35
  var __process = globalThis["process"] ?? {
36
36
  "browser": true,
37
- "cwd": "[[Function0]]",
37
+ "cwd": () => "/",
38
38
  "env": {},
39
39
  "platform": "android"
40
40
  };
@@ -69,4 +69,4 @@ async function loop(options) {
69
69
  0 && (module.exports = {
70
70
  loop
71
71
  });
72
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL0xvb3AudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzWydwcm9jZXNzJ10gPz8ge1xuICBcImJyb3dzZXJcIjogdHJ1ZSxcbiAgXCJjd2RcIjogXCJbW0Z1bmN0aW9uMF1dXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gTG9vcFxuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGxvb3BpbmcgaW4gT2JzaWRpYW4uXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBNYXliZVByb21pc2UgfSBmcm9tICcuLi9Bc3luYy50cyc7XG5cbmltcG9ydCB7IGdldERlYnVnZ2VyIH0gZnJvbSAnLi4vRGVidWcudHMnO1xuaW1wb3J0IHsgZW1pdEFzeW5jRXJyb3JFdmVudCB9IGZyb20gJy4uL0Vycm9yLnRzJztcblxuLyoqXG4gKiBPcHRpb25zIGZvciB0aGUgbG9vcCBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMb29wT3B0aW9uczxUPiB7XG4gIC8qKlxuICAgKiBBbiBvcHRpb25hbCBhYm9ydCBzaWduYWwgdG8gY2FuY2VsIHRoZSBsb29wLlxuICAgKi9cbiAgYWJvcnRTaWduYWw/OiBBYm9ydFNpZ25hbDtcbiAgLyoqXG4gICAqIFRoZSBmdW5jdGlvbiB0byBidWlsZCB0aGUgbm90aWNlIG1lc3NhZ2UgZm9yIGVhY2ggaXRlbS5cbiAgICovXG4gIGJ1aWxkTm90aWNlTWVzc2FnZShpdGVtOiBULCBpdGVyYXRpb25TdHI6IHN0cmluZyk6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBpdGVtcyB0byBsb29wIG92ZXIuXG4gICAqL1xuICBpdGVtczogVFtdO1xuICAvKipcbiAgICogVGhlIGZ1bmN0aW9uIHRvIHByb2Nlc3MgZWFjaCBpdGVtLlxuICAgKi9cbiAgcHJvY2Vzc0l0ZW0oaXRlbTogVCk6IE1heWJlUHJvbWlzZTx2b2lkPjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gY29udGludWUgdGhlIGxvb3Agb24gZXJyb3IuXG4gICAqL1xuICBzaG91bGRDb250aW51ZU9uRXJyb3I/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIExvb3BzIG92ZXIgYSBsaXN0IG9mIGl0ZW1zIGFuZCBwcm9jZXNzZXMgZWFjaCBpdGVtLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIHRoZSBsb29wLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9vcDxUPihvcHRpb25zOiBMb29wT3B0aW9uczxUPik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBpdGVtcyA9IG9wdGlvbnMuaXRlbXM7XG4gIGxldCBpdGVyYXRpb25Db3VudCA9IDA7XG4gIGNvbnN0IG5vdGljZSA9IG5ldyBOb3RpY2UoJycsIDApO1xuICBmb3IgKGNvbnN0IGl0ZW0gb2YgaXRlbXMpIHtcbiAgICBpZiAob3B0aW9ucy5hYm9ydFNpZ25hbD8uYWJvcnRlZCkge1xuICAgICAgbm90aWNlLmhpZGUoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaXRlcmF0aW9uQ291bnQrKztcbiAgICBjb25zdCBpdGVyYXRpb25TdHIgPSBgIyAke2l0ZXJhdGlvbkNvdW50LnRvU3RyaW5nKCl9IC8gJHtpdGVtcy5sZW5ndGgudG9TdHJpbmcoKX1gO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBvcHRpb25zLmJ1aWxkTm90aWNlTWVzc2FnZShpdGVtLCBpdGVyYXRpb25TdHIpO1xuICAgIG5vdGljZS5zZXRNZXNzYWdlKG1lc3NhZ2UpO1xuICAgIGdldERlYnVnZ2VyKCdvYnNpZGlhbi1kZXYtdXRpbHM6bG9vcCcpKG1lc3NhZ2UpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IG9wdGlvbnMucHJvY2Vzc0l0ZW0oaXRlbSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGlmICghb3B0aW9ucy5zaG91bGRDb250aW51ZU9uRXJyb3IpIHtcbiAgICAgICAgbm90aWNlLmhpZGUoKTtcbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlbWl0QXN5bmNFcnJvckV2ZW50KGVycm9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgbm90aWNlLmhpZGUoKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFhQSxtQkFBNEI7QUFDNUIsbUJBQW9DO0FBZHBDLElBQUksWUFBWSxXQUFXLFNBQVMsS0FBSztBQUFBLEVBQ3ZDLFdBQVc7QUFBQSxFQUNYLE9BQU87QUFBQSxFQUNQLE9BQU8sQ0FBQztBQUFBLEVBQ1IsWUFBWTtBQUNkO0FBMENBLGVBQXNCLEtBQVEsU0FBd0M7QUFDcEUsUUFBTSxRQUFRLFFBQVE7QUFDdEIsTUFBSSxpQkFBaUI7QUFDckIsUUFBTSxTQUFTLElBQUksT0FBTyxJQUFJLENBQUM7QUFDL0IsYUFBVyxRQUFRLE9BQU87QUFDeEIsUUFBSSxRQUFRLGFBQWEsU0FBUztBQUNoQyxhQUFPLEtBQUs7QUFDWjtBQUFBLElBQ0Y7QUFDQTtBQUNBLFVBQU0sZUFBZSxLQUFLLGVBQWUsU0FBUyxDQUFDLE1BQU0sTUFBTSxPQUFPLFNBQVMsQ0FBQztBQUNoRixVQUFNLFVBQVUsUUFBUSxtQkFBbUIsTUFBTSxZQUFZO0FBQzdELFdBQU8sV0FBVyxPQUFPO0FBQ3pCLGtDQUFZLHlCQUF5QixFQUFFLE9BQU87QUFFOUMsUUFBSTtBQUNGLFlBQU0sUUFBUSxZQUFZLElBQUk7QUFBQSxJQUNoQyxTQUFTLE9BQU87QUFDZCxVQUFJLENBQUMsUUFBUSx1QkFBdUI7QUFDbEMsZUFBTyxLQUFLO0FBQ1osY0FBTTtBQUFBLE1BQ1IsT0FBTztBQUNMLDhDQUFvQixLQUFLO0FBQUEsTUFDM0I7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNBLFNBQU8sS0FBSztBQUNkOyIsCiAgIm5hbWVzIjogW10KfQo=
72
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL0xvb3AudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzWydwcm9jZXNzJ10gPz8ge1xuICBcImJyb3dzZXJcIjogdHJ1ZSxcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIExvb3BcbiAqIENvbnRhaW5zIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBsb29waW5nIGluIE9ic2lkaWFuLlxuICovXG5cbmltcG9ydCB0eXBlIHsgTWF5YmVQcm9taXNlIH0gZnJvbSAnLi4vQXN5bmMudHMnO1xuXG5pbXBvcnQgeyBnZXREZWJ1Z2dlciB9IGZyb20gJy4uL0RlYnVnLnRzJztcbmltcG9ydCB7IGVtaXRBc3luY0Vycm9yRXZlbnQgfSBmcm9tICcuLi9FcnJvci50cyc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgdGhlIGxvb3AgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9vcE9wdGlvbnM8VD4ge1xuICAvKipcbiAgICogQW4gb3B0aW9uYWwgYWJvcnQgc2lnbmFsIHRvIGNhbmNlbCB0aGUgbG9vcC5cbiAgICovXG4gIGFib3J0U2lnbmFsPzogQWJvcnRTaWduYWw7XG4gIC8qKlxuICAgKiBUaGUgZnVuY3Rpb24gdG8gYnVpbGQgdGhlIG5vdGljZSBtZXNzYWdlIGZvciBlYWNoIGl0ZW0uXG4gICAqL1xuICBidWlsZE5vdGljZU1lc3NhZ2UoaXRlbTogVCwgaXRlcmF0aW9uU3RyOiBzdHJpbmcpOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgaXRlbXMgdG8gbG9vcCBvdmVyLlxuICAgKi9cbiAgaXRlbXM6IFRbXTtcbiAgLyoqXG4gICAqIFRoZSBmdW5jdGlvbiB0byBwcm9jZXNzIGVhY2ggaXRlbS5cbiAgICovXG4gIHByb2Nlc3NJdGVtKGl0ZW06IFQpOiBNYXliZVByb21pc2U8dm9pZD47XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGNvbnRpbnVlIHRoZSBsb29wIG9uIGVycm9yLlxuICAgKi9cbiAgc2hvdWxkQ29udGludWVPbkVycm9yPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBMb29wcyBvdmVyIGEgbGlzdCBvZiBpdGVtcyBhbmQgcHJvY2Vzc2VzIGVhY2ggaXRlbS5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciB0aGUgbG9vcC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvb3A8VD4ob3B0aW9uczogTG9vcE9wdGlvbnM8VD4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgaXRlbXMgPSBvcHRpb25zLml0ZW1zO1xuICBsZXQgaXRlcmF0aW9uQ291bnQgPSAwO1xuICBjb25zdCBub3RpY2UgPSBuZXcgTm90aWNlKCcnLCAwKTtcbiAgZm9yIChjb25zdCBpdGVtIG9mIGl0ZW1zKSB7XG4gICAgaWYgKG9wdGlvbnMuYWJvcnRTaWduYWw/LmFib3J0ZWQpIHtcbiAgICAgIG5vdGljZS5oaWRlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGl0ZXJhdGlvbkNvdW50Kys7XG4gICAgY29uc3QgaXRlcmF0aW9uU3RyID0gYCMgJHtpdGVyYXRpb25Db3VudC50b1N0cmluZygpfSAvICR7aXRlbXMubGVuZ3RoLnRvU3RyaW5nKCl9YDtcbiAgICBjb25zdCBtZXNzYWdlID0gb3B0aW9ucy5idWlsZE5vdGljZU1lc3NhZ2UoaXRlbSwgaXRlcmF0aW9uU3RyKTtcbiAgICBub3RpY2Uuc2V0TWVzc2FnZShtZXNzYWdlKTtcbiAgICBnZXREZWJ1Z2dlcignb2JzaWRpYW4tZGV2LXV0aWxzOmxvb3AnKShtZXNzYWdlKTtcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBvcHRpb25zLnByb2Nlc3NJdGVtKGl0ZW0pO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBpZiAoIW9wdGlvbnMuc2hvdWxkQ29udGludWVPbkVycm9yKSB7XG4gICAgICAgIG5vdGljZS5oaWRlKCk7XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZW1pdEFzeW5jRXJyb3JFdmVudChlcnJvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIG5vdGljZS5oaWRlKCk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBYUEsbUJBQTRCO0FBQzVCLG1CQUFvQztBQWRwQyxJQUFJLFlBQVksV0FBVyxTQUFTLEtBQUs7QUFBQSxFQUN2QyxXQUFXO0FBQUEsRUFDWCxPQUFPLE1BQUk7QUFBQSxFQUNYLE9BQU8sQ0FBQztBQUFBLEVBQ1IsWUFBWTtBQUNkO0FBMENBLGVBQXNCLEtBQVEsU0FBd0M7QUFDcEUsUUFBTSxRQUFRLFFBQVE7QUFDdEIsTUFBSSxpQkFBaUI7QUFDckIsUUFBTSxTQUFTLElBQUksT0FBTyxJQUFJLENBQUM7QUFDL0IsYUFBVyxRQUFRLE9BQU87QUFDeEIsUUFBSSxRQUFRLGFBQWEsU0FBUztBQUNoQyxhQUFPLEtBQUs7QUFDWjtBQUFBLElBQ0Y7QUFDQTtBQUNBLFVBQU0sZUFBZSxLQUFLLGVBQWUsU0FBUyxDQUFDLE1BQU0sTUFBTSxPQUFPLFNBQVMsQ0FBQztBQUNoRixVQUFNLFVBQVUsUUFBUSxtQkFBbUIsTUFBTSxZQUFZO0FBQzdELFdBQU8sV0FBVyxPQUFPO0FBQ3pCLGtDQUFZLHlCQUF5QixFQUFFLE9BQU87QUFFOUMsUUFBSTtBQUNGLFlBQU0sUUFBUSxZQUFZLElBQUk7QUFBQSxJQUNoQyxTQUFTLE9BQU87QUFDZCxVQUFJLENBQUMsUUFBUSx1QkFBdUI7QUFDbEMsZUFBTyxLQUFLO0FBQ1osY0FBTTtBQUFBLE1BQ1IsT0FBTztBQUNMLDhDQUFvQixLQUFLO0FBQUEsTUFDM0I7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNBLFNBQU8sS0FBSztBQUNkOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -33,7 +33,7 @@ module.exports = __toCommonJS(Markdown_exports);
33
33
  var import_obsidian = require('obsidian');
34
34
  var __process = globalThis["process"] ?? {
35
35
  "browser": true,
36
- "cwd": "[[Function0]]",
36
+ "cwd": () => "/",
37
37
  "env": {},
38
38
  "platform": "android"
39
39
  };
@@ -50,4 +50,4 @@ async function markdownToHtml(app, markdown, sourcePath) {
50
50
  0 && (module.exports = {
51
51
  markdownToHtml
52
52
  });
53
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL01hcmtkb3duLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1sncHJvY2VzcyddID8/IHtcbiAgXCJicm93c2VyXCI6IHRydWUsXG4gIFwiY3dkXCI6IFwiW1tGdW5jdGlvbjBdXVwiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxyXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gTWFya2Rvd25cclxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIHByb2Nlc3NpbmcgTWFya2Rvd24gY29udGVudCBpbiBPYnNpZGlhbi5cclxuICovXHJcblxyXG5pbXBvcnQge1xyXG4gIEFwcCxcclxuICBDb21wb25lbnQsXHJcbiAgTWFya2Rvd25SZW5kZXJlclxyXG59IGZyb20gJ29ic2lkaWFuJztcclxuXHJcbi8qKlxyXG4gKiBDb252ZXJ0cyBNYXJrZG93biB0byBIVE1MLlxyXG4gKlxyXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cclxuICogQHBhcmFtIG1hcmtkb3duIC0gVGhlIE1hcmtkb3duIHN0cmluZyB0byBjb252ZXJ0LlxyXG4gKiBAcGFyYW0gc291cmNlUGF0aCAtIChvcHRpb25hbCkgVGhlIHNvdXJjZSBwYXRoIHRvIHJlc29sdmUgcmVsYXRpdmUgbGlua3MuXHJcbiAqIEByZXR1cm5zIFRoZSBIVE1MIHN0cmluZy5cclxuICovXHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBtYXJrZG93blRvSHRtbChhcHA6IEFwcCwgbWFya2Rvd246IHN0cmluZywgc291cmNlUGF0aD86IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgY29uc3QgY29tcG9uZW50ID0gbmV3IENvbXBvbmVudCgpO1xyXG4gIGNvbXBvbmVudC5sb2FkKCk7XHJcbiAgY29uc3QgcmVuZGVyRGl2ID0gY3JlYXRlRGl2KCk7XHJcbiAgYXdhaXQgTWFya2Rvd25SZW5kZXJlci5yZW5kZXIoYXBwLCBtYXJrZG93biwgcmVuZGVyRGl2LCBzb3VyY2VQYXRoID8/ICcnLCBjb21wb25lbnQpO1xyXG4gIGNvbnN0IGh0bWwgPSByZW5kZXJEaXYuaW5uZXJIVE1MO1xyXG4gIGNvbXBvbmVudC51bmxvYWQoKTtcclxuICByZXR1cm4gaHRtbDtcclxufVxyXG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBV0Esc0JBSU87QUFmUCxJQUFJLFlBQVksV0FBVyxTQUFTLEtBQUs7QUFBQSxFQUN2QyxXQUFXO0FBQUEsRUFDWCxPQUFPO0FBQUEsRUFDUCxPQUFPLENBQUM7QUFBQSxFQUNSLFlBQVk7QUFDZDtBQW9CQSxlQUFzQixlQUFlLEtBQVUsVUFBa0IsWUFBc0M7QUFDckcsUUFBTSxZQUFZLElBQUksMEJBQVU7QUFDaEMsWUFBVSxLQUFLO0FBQ2YsUUFBTSxZQUFZLFVBQVU7QUFDNUIsUUFBTSxpQ0FBaUIsT0FBTyxLQUFLLFVBQVUsV0FBVyxjQUFjLElBQUksU0FBUztBQUNuRixRQUFNLE9BQU8sVUFBVTtBQUN2QixZQUFVLE9BQU87QUFDakIsU0FBTztBQUNUOyIsCiAgIm5hbWVzIjogW10KfQo=
53
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL01hcmtkb3duLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1sncHJvY2VzcyddID8/IHtcbiAgXCJicm93c2VyXCI6IHRydWUsXG4gIFwiY3dkXCI6ICgpPT5cIi9cIixcbiAgXCJlbnZcIjoge30sXG4gIFwicGxhdGZvcm1cIjogXCJhbmRyb2lkXCJcbn07XG4vKipcclxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIE1hcmtkb3duXHJcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBwcm9jZXNzaW5nIE1hcmtkb3duIGNvbnRlbnQgaW4gT2JzaWRpYW4uXHJcbiAqL1xyXG5cclxuaW1wb3J0IHtcclxuICBBcHAsXHJcbiAgQ29tcG9uZW50LFxyXG4gIE1hcmtkb3duUmVuZGVyZXJcclxufSBmcm9tICdvYnNpZGlhbic7XHJcblxyXG4vKipcclxuICogQ29udmVydHMgTWFya2Rvd24gdG8gSFRNTC5cclxuICpcclxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXHJcbiAqIEBwYXJhbSBtYXJrZG93biAtIFRoZSBNYXJrZG93biBzdHJpbmcgdG8gY29udmVydC5cclxuICogQHBhcmFtIHNvdXJjZVBhdGggLSAob3B0aW9uYWwpIFRoZSBzb3VyY2UgcGF0aCB0byByZXNvbHZlIHJlbGF0aXZlIGxpbmtzLlxyXG4gKiBAcmV0dXJucyBUaGUgSFRNTCBzdHJpbmcuXHJcbiAqL1xyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbWFya2Rvd25Ub0h0bWwoYXBwOiBBcHAsIG1hcmtkb3duOiBzdHJpbmcsIHNvdXJjZVBhdGg/OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gIGNvbnN0IGNvbXBvbmVudCA9IG5ldyBDb21wb25lbnQoKTtcclxuICBjb21wb25lbnQubG9hZCgpO1xyXG4gIGNvbnN0IHJlbmRlckRpdiA9IGNyZWF0ZURpdigpO1xyXG4gIGF3YWl0IE1hcmtkb3duUmVuZGVyZXIucmVuZGVyKGFwcCwgbWFya2Rvd24sIHJlbmRlckRpdiwgc291cmNlUGF0aCA/PyAnJywgY29tcG9uZW50KTtcclxuICBjb25zdCBodG1sID0gcmVuZGVyRGl2LmlubmVySFRNTDtcclxuICBjb21wb25lbnQudW5sb2FkKCk7XHJcbiAgcmV0dXJuIGh0bWw7XHJcbn1cclxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBLHNCQUlPO0FBZlAsSUFBSSxZQUFZLFdBQVcsU0FBUyxLQUFLO0FBQUEsRUFDdkMsV0FBVztBQUFBLEVBQ1gsT0FBTyxNQUFJO0FBQUEsRUFDWCxPQUFPLENBQUM7QUFBQSxFQUNSLFlBQVk7QUFDZDtBQW9CQSxlQUFzQixlQUFlLEtBQVUsVUFBa0IsWUFBc0M7QUFDckcsUUFBTSxZQUFZLElBQUksMEJBQVU7QUFDaEMsWUFBVSxLQUFLO0FBQ2YsUUFBTSxZQUFZLFVBQVU7QUFDNUIsUUFBTSxpQ0FBaUIsT0FBTyxLQUFLLFVBQVUsV0FBVyxjQUFjLElBQUksU0FBUztBQUNuRixRQUFNLE9BQU8sVUFBVTtBQUN2QixZQUFVLE9BQU87QUFDakIsU0FBTztBQUNUOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -38,7 +38,7 @@ var import_ValueProvider = require('../ValueProvider.cjs');
38
38
  var import_Vault = require('./Vault.cjs');
39
39
  var __process = globalThis["process"] ?? {
40
40
  "browser": true,
41
- "cwd": "[[Function0]]",
41
+ "cwd": () => "/",
42
42
  "env": {},
43
43
  "platform": "android"
44
44
  };
@@ -73,4 +73,4 @@ async function replaceCodeBlock(app, ctx, el, codeBlockProvider) {
73
73
  getCodeBlockArguments,
74
74
  replaceCodeBlock
75
75
  });
76
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL01hcmtkb3duQ29kZUJsb2NrUHJvY2Vzc29yLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1sncHJvY2VzcyddID8/IHtcbiAgXCJicm93c2VyXCI6IHRydWUsXG4gIFwiY3dkXCI6IFwiW1tGdW5jdGlvbjBdXVwiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIE1hcmtkb3duQ29kZUJsb2NrUHJvY2Vzc29yXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjb2RlIGJsb2NrcyBpbiBPYnNpZGlhbi5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIEFwcCxcbiAgTWFya2Rvd25Qb3N0UHJvY2Vzc29yQ29udGV4dFxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7IHBhcnNlIH0gZnJvbSAnc2hlbGwtcXVvdGUnO1xuXG5pbXBvcnQgdHlwZSB7IFZhbHVlUHJvdmlkZXIgfSBmcm9tICcuLi9WYWx1ZVByb3ZpZGVyLnRzJztcblxuaW1wb3J0IHsgdGhyb3dFeHByZXNzaW9uIH0gZnJvbSAnLi4vRXJyb3IudHMnO1xuaW1wb3J0IHsgcmVwbGFjZUFsbCB9IGZyb20gJy4uL1N0cmluZy50cyc7XG5pbXBvcnQgeyByZXNvbHZlVmFsdWUgfSBmcm9tICcuLi9WYWx1ZVByb3ZpZGVyLnRzJztcbmltcG9ydCB7IHByb2Nlc3MgfSBmcm9tICcuL1ZhdWx0LnRzJztcblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGFyZ3VtZW50IG9mIGEgY29kZSBibG9jayBmcm9tIHRoZSBnaXZlbiBNYXJrZG93blBvc3RQcm9jZXNzb3JDb250ZXh0IGFuZCBIVE1MRWxlbWVudC5cbiAqXG4gKiBAcGFyYW0gY3R4IC0gVGhlIE1hcmtkb3duUG9zdFByb2Nlc3NvckNvbnRleHQgb2JqZWN0LlxuICogQHBhcmFtIGVsIC0gVGhlIEhUTUxFbGVtZW50IHJlcHJlc2VudGluZyB0aGUgY29kZSBibG9jay5cbiAqIEByZXR1cm5zIFRoZSBhcmd1bWVudCBvZiB0aGUgY29kZSBibG9jayBhcyBhIHN0cmluZywgb3IgbnVsbCBpZiBubyBhcmd1bWVudCBpcyBmb3VuZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENvZGVCbG9ja0FyZ3VtZW50cyhjdHg6IE1hcmtkb3duUG9zdFByb2Nlc3NvckNvbnRleHQsIGVsOiBIVE1MRWxlbWVudCk6IHN0cmluZ1tdIHtcbiAgY29uc3Qgc2VjdGlvbkluZm8gPSBjdHguZ2V0U2VjdGlvbkluZm8oZWwpO1xuICBpZiAoIXNlY3Rpb25JbmZvKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIGNvbnN0IGxpbmVzID0gc2VjdGlvbkluZm8udGV4dC5zcGxpdCgnXFxuJyk7XG4gIGNvbnN0IGNvZGVCbG9ja0hlYWRlciA9IGxpbmVzW3NlY3Rpb25JbmZvLmxpbmVTdGFydF0gPz8gdGhyb3dFeHByZXNzaW9uKG5ldyBFcnJvcignQ29kZSBibG9jayBoZWFkZXIgbm90IGZvdW5kJykpO1xuICBjb25zdCBtYXRjaCA9IC9eYHszLH1cXFMrXFxzKyguKikkLy5leGVjKGNvZGVCbG9ja0hlYWRlcik7XG4gIGlmICghbWF0Y2gpIHtcbiAgICByZXR1cm4gW107XG4gIH1cbiAgcmV0dXJuIHBhcnNlKG1hdGNoWzFdID8/ICcnKS5tYXAoU3RyaW5nKTtcbn1cblxuLyoqXG4gKiBSZXBsYWNlcyB0aGUgY29kZSBibG9jay5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIEFwcCBvYmplY3QuXG4gKiBAcGFyYW0gY3R4IC0gVGhlIE1hcmtkb3duUG9zdFByb2Nlc3NvckNvbnRleHQgb2JqZWN0LlxuICogQHBhcmFtIGVsIC0gVGhlIEhUTUxFbGVtZW50IHJlcHJlc2VudGluZyB0aGUgY29kZSBibG9jay5cbiAqIEBwYXJhbSBjb2RlQmxvY2tQcm92aWRlciAtIFRoZSBWYWx1ZVByb3ZpZGVyIHRoYXQgcHJvdmlkZXMgdGhlIG5ldyBjb2RlIGJsb2NrLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVwbGFjZUNvZGVCbG9jayhhcHA6IEFwcCwgY3R4OiBNYXJrZG93blBvc3RQcm9jZXNzb3JDb250ZXh0LCBlbDogSFRNTEVsZW1lbnQsIGNvZGVCbG9ja1Byb3ZpZGVyOiBWYWx1ZVByb3ZpZGVyPHN0cmluZywgW3N0cmluZ10+KTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHNlY3Rpb25JbmZvID0gY3R4LmdldFNlY3Rpb25JbmZvKGVsKTtcbiAgaWYgKCFzZWN0aW9uSW5mbykge1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCBsaW5lcyA9IHNlY3Rpb25JbmZvLnRleHQuc3BsaXQoJ1xcbicpO1xuICBjb25zdCBwcmVmaXggPSBsaW5lcy5zbGljZSgwLCBzZWN0aW9uSW5mby5saW5lU3RhcnQpLmpvaW4oJ1xcbicpO1xuICBjb25zdCBvbGRDb2RlQmxvY2sgPSBsaW5lcy5zbGljZShzZWN0aW9uSW5mby5saW5lU3RhcnQsIHNlY3Rpb25JbmZvLmxpbmVFbmQgKyAxKS5qb2luKCdcXG4nKTtcbiAgY29uc3Qgc3VmZml4ID0gbGluZXMuc2xpY2Uoc2VjdGlvbkluZm8ubGluZUVuZCArIDEpLmpvaW4oJ1xcbicpO1xuICBjb25zdCBuZXdDb2RlQmxvY2sgPSBhd2FpdCByZXNvbHZlVmFsdWUoY29kZUJsb2NrUHJvdmlkZXIsIG9sZENvZGVCbG9jayk7XG4gIGNvbnN0IG5ld1NlY3Rpb25UZXh0ID0gcHJlZml4ICsgJ1xcbicgKyBuZXdDb2RlQmxvY2sgKyAobmV3Q29kZUJsb2NrID8gJ1xcbicgOiAnJykgKyBzdWZmaXg7XG4gIGF3YWl0IHByb2Nlc3MoYXBwLCBjdHguc291cmNlUGF0aCwgKGNvbnRlbnQpID0+IHJlcGxhY2VBbGwoY29udGVudCwgc2VjdGlvbkluZm8udGV4dCwgbmV3U2VjdGlvblRleHQpKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWdCQSx5QkFBc0I7QUFJdEIsbUJBQWdDO0FBQ2hDLG9CQUEyQjtBQUMzQiwyQkFBNkI7QUFDN0IsbUJBQXdCO0FBdkJ4QixJQUFJLFlBQVksV0FBVyxTQUFTLEtBQUs7QUFBQSxFQUN2QyxXQUFXO0FBQUEsRUFDWCxPQUFPO0FBQUEsRUFDUCxPQUFPLENBQUM7QUFBQSxFQUNSLFlBQVk7QUFDZDtBQTJCTyxTQUFTLHNCQUFzQixLQUFtQyxJQUEyQjtBQUNsRyxRQUFNLGNBQWMsSUFBSSxlQUFlLEVBQUU7QUFDekMsTUFBSSxDQUFDLGFBQWE7QUFDaEIsV0FBTyxDQUFDO0FBQUEsRUFDVjtBQUNBLFFBQU0sUUFBUSxZQUFZLEtBQUssTUFBTSxJQUFJO0FBQ3pDLFFBQU0sa0JBQWtCLE1BQU0sWUFBWSxTQUFTLFNBQUssOEJBQWdCLElBQUksTUFBTSw2QkFBNkIsQ0FBQztBQUNoSCxRQUFNLFFBQVEsb0JBQW9CLEtBQUssZUFBZTtBQUN0RCxNQUFJLENBQUMsT0FBTztBQUNWLFdBQU8sQ0FBQztBQUFBLEVBQ1Y7QUFDQSxhQUFPLDBCQUFNLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLE1BQU07QUFDekM7QUFVQSxlQUFzQixpQkFBaUIsS0FBVSxLQUFtQyxJQUFpQixtQkFBbUU7QUFDdEssUUFBTSxjQUFjLElBQUksZUFBZSxFQUFFO0FBQ3pDLE1BQUksQ0FBQyxhQUFhO0FBQ2hCO0FBQUEsRUFDRjtBQUNBLFFBQU0sUUFBUSxZQUFZLEtBQUssTUFBTSxJQUFJO0FBQ3pDLFFBQU0sU0FBUyxNQUFNLE1BQU0sR0FBRyxZQUFZLFNBQVMsRUFBRSxLQUFLLElBQUk7QUFDOUQsUUFBTSxlQUFlLE1BQU0sTUFBTSxZQUFZLFdBQVcsWUFBWSxVQUFVLENBQUMsRUFBRSxLQUFLLElBQUk7QUFDMUYsUUFBTSxTQUFTLE1BQU0sTUFBTSxZQUFZLFVBQVUsQ0FBQyxFQUFFLEtBQUssSUFBSTtBQUM3RCxRQUFNLGVBQWUsVUFBTSxtQ0FBYSxtQkFBbUIsWUFBWTtBQUN2RSxRQUFNLGlCQUFpQixTQUFTLE9BQU8sZ0JBQWdCLGVBQWUsT0FBTyxNQUFNO0FBQ25GLFlBQU0sc0JBQVEsS0FBSyxJQUFJLFlBQVksQ0FBQyxnQkFBWSwwQkFBVyxTQUFTLFlBQVksTUFBTSxjQUFjLENBQUM7QUFDdkc7IiwKICAibmFtZXMiOiBbXQp9Cg==
76
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL01hcmtkb3duQ29kZUJsb2NrUHJvY2Vzc29yLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1sncHJvY2VzcyddID8/IHtcbiAgXCJicm93c2VyXCI6IHRydWUsXG4gIFwiY3dkXCI6ICgpPT5cIi9cIixcbiAgXCJlbnZcIjoge30sXG4gIFwicGxhdGZvcm1cIjogXCJhbmRyb2lkXCJcbn07XG4vKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBNYXJrZG93bkNvZGVCbG9ja1Byb2Nlc3NvclxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIHByb2Nlc3NpbmcgY29kZSBibG9ja3MgaW4gT2JzaWRpYW4uXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIE1hcmtkb3duUG9zdFByb2Nlc3NvckNvbnRleHRcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBwYXJzZSB9IGZyb20gJ3NoZWxsLXF1b3RlJztcblxuaW1wb3J0IHR5cGUgeyBWYWx1ZVByb3ZpZGVyIH0gZnJvbSAnLi4vVmFsdWVQcm92aWRlci50cyc7XG5cbmltcG9ydCB7IHRocm93RXhwcmVzc2lvbiB9IGZyb20gJy4uL0Vycm9yLnRzJztcbmltcG9ydCB7IHJlcGxhY2VBbGwgfSBmcm9tICcuLi9TdHJpbmcudHMnO1xuaW1wb3J0IHsgcmVzb2x2ZVZhbHVlIH0gZnJvbSAnLi4vVmFsdWVQcm92aWRlci50cyc7XG5pbXBvcnQgeyBwcm9jZXNzIH0gZnJvbSAnLi9WYXVsdC50cyc7XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBhcmd1bWVudCBvZiBhIGNvZGUgYmxvY2sgZnJvbSB0aGUgZ2l2ZW4gTWFya2Rvd25Qb3N0UHJvY2Vzc29yQ29udGV4dCBhbmQgSFRNTEVsZW1lbnQuXG4gKlxuICogQHBhcmFtIGN0eCAtIFRoZSBNYXJrZG93blBvc3RQcm9jZXNzb3JDb250ZXh0IG9iamVjdC5cbiAqIEBwYXJhbSBlbCAtIFRoZSBIVE1MRWxlbWVudCByZXByZXNlbnRpbmcgdGhlIGNvZGUgYmxvY2suXG4gKiBAcmV0dXJucyBUaGUgYXJndW1lbnQgb2YgdGhlIGNvZGUgYmxvY2sgYXMgYSBzdHJpbmcsIG9yIG51bGwgaWYgbm8gYXJndW1lbnQgaXMgZm91bmQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb2RlQmxvY2tBcmd1bWVudHMoY3R4OiBNYXJrZG93blBvc3RQcm9jZXNzb3JDb250ZXh0LCBlbDogSFRNTEVsZW1lbnQpOiBzdHJpbmdbXSB7XG4gIGNvbnN0IHNlY3Rpb25JbmZvID0gY3R4LmdldFNlY3Rpb25JbmZvKGVsKTtcbiAgaWYgKCFzZWN0aW9uSW5mbykge1xuICAgIHJldHVybiBbXTtcbiAgfVxuICBjb25zdCBsaW5lcyA9IHNlY3Rpb25JbmZvLnRleHQuc3BsaXQoJ1xcbicpO1xuICBjb25zdCBjb2RlQmxvY2tIZWFkZXIgPSBsaW5lc1tzZWN0aW9uSW5mby5saW5lU3RhcnRdID8/IHRocm93RXhwcmVzc2lvbihuZXcgRXJyb3IoJ0NvZGUgYmxvY2sgaGVhZGVyIG5vdCBmb3VuZCcpKTtcbiAgY29uc3QgbWF0Y2ggPSAvXmB7Myx9XFxTK1xccysoLiopJC8uZXhlYyhjb2RlQmxvY2tIZWFkZXIpO1xuICBpZiAoIW1hdGNoKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIHJldHVybiBwYXJzZShtYXRjaFsxXSA/PyAnJykubWFwKFN0cmluZyk7XG59XG5cbi8qKlxuICogUmVwbGFjZXMgdGhlIGNvZGUgYmxvY2suXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBBcHAgb2JqZWN0LlxuICogQHBhcmFtIGN0eCAtIFRoZSBNYXJrZG93blBvc3RQcm9jZXNzb3JDb250ZXh0IG9iamVjdC5cbiAqIEBwYXJhbSBlbCAtIFRoZSBIVE1MRWxlbWVudCByZXByZXNlbnRpbmcgdGhlIGNvZGUgYmxvY2suXG4gKiBAcGFyYW0gY29kZUJsb2NrUHJvdmlkZXIgLSBUaGUgVmFsdWVQcm92aWRlciB0aGF0IHByb3ZpZGVzIHRoZSBuZXcgY29kZSBibG9jay5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlcGxhY2VDb2RlQmxvY2soYXBwOiBBcHAsIGN0eDogTWFya2Rvd25Qb3N0UHJvY2Vzc29yQ29udGV4dCwgZWw6IEhUTUxFbGVtZW50LCBjb2RlQmxvY2tQcm92aWRlcjogVmFsdWVQcm92aWRlcjxzdHJpbmcsIFtzdHJpbmddPik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBzZWN0aW9uSW5mbyA9IGN0eC5nZXRTZWN0aW9uSW5mbyhlbCk7XG4gIGlmICghc2VjdGlvbkluZm8pIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgbGluZXMgPSBzZWN0aW9uSW5mby50ZXh0LnNwbGl0KCdcXG4nKTtcbiAgY29uc3QgcHJlZml4ID0gbGluZXMuc2xpY2UoMCwgc2VjdGlvbkluZm8ubGluZVN0YXJ0KS5qb2luKCdcXG4nKTtcbiAgY29uc3Qgb2xkQ29kZUJsb2NrID0gbGluZXMuc2xpY2Uoc2VjdGlvbkluZm8ubGluZVN0YXJ0LCBzZWN0aW9uSW5mby5saW5lRW5kICsgMSkuam9pbignXFxuJyk7XG4gIGNvbnN0IHN1ZmZpeCA9IGxpbmVzLnNsaWNlKHNlY3Rpb25JbmZvLmxpbmVFbmQgKyAxKS5qb2luKCdcXG4nKTtcbiAgY29uc3QgbmV3Q29kZUJsb2NrID0gYXdhaXQgcmVzb2x2ZVZhbHVlKGNvZGVCbG9ja1Byb3ZpZGVyLCBvbGRDb2RlQmxvY2spO1xuICBjb25zdCBuZXdTZWN0aW9uVGV4dCA9IHByZWZpeCArICdcXG4nICsgbmV3Q29kZUJsb2NrICsgKG5ld0NvZGVCbG9jayA/ICdcXG4nIDogJycpICsgc3VmZml4O1xuICBhd2FpdCBwcm9jZXNzKGFwcCwgY3R4LnNvdXJjZVBhdGgsIChjb250ZW50KSA9PiByZXBsYWNlQWxsKGNvbnRlbnQsIHNlY3Rpb25JbmZvLnRleHQsIG5ld1NlY3Rpb25UZXh0KSk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFnQkEseUJBQXNCO0FBSXRCLG1CQUFnQztBQUNoQyxvQkFBMkI7QUFDM0IsMkJBQTZCO0FBQzdCLG1CQUF3QjtBQXZCeEIsSUFBSSxZQUFZLFdBQVcsU0FBUyxLQUFLO0FBQUEsRUFDdkMsV0FBVztBQUFBLEVBQ1gsT0FBTyxNQUFJO0FBQUEsRUFDWCxPQUFPLENBQUM7QUFBQSxFQUNSLFlBQVk7QUFDZDtBQTJCTyxTQUFTLHNCQUFzQixLQUFtQyxJQUEyQjtBQUNsRyxRQUFNLGNBQWMsSUFBSSxlQUFlLEVBQUU7QUFDekMsTUFBSSxDQUFDLGFBQWE7QUFDaEIsV0FBTyxDQUFDO0FBQUEsRUFDVjtBQUNBLFFBQU0sUUFBUSxZQUFZLEtBQUssTUFBTSxJQUFJO0FBQ3pDLFFBQU0sa0JBQWtCLE1BQU0sWUFBWSxTQUFTLFNBQUssOEJBQWdCLElBQUksTUFBTSw2QkFBNkIsQ0FBQztBQUNoSCxRQUFNLFFBQVEsb0JBQW9CLEtBQUssZUFBZTtBQUN0RCxNQUFJLENBQUMsT0FBTztBQUNWLFdBQU8sQ0FBQztBQUFBLEVBQ1Y7QUFDQSxhQUFPLDBCQUFNLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLE1BQU07QUFDekM7QUFVQSxlQUFzQixpQkFBaUIsS0FBVSxLQUFtQyxJQUFpQixtQkFBbUU7QUFDdEssUUFBTSxjQUFjLElBQUksZUFBZSxFQUFFO0FBQ3pDLE1BQUksQ0FBQyxhQUFhO0FBQ2hCO0FBQUEsRUFDRjtBQUNBLFFBQU0sUUFBUSxZQUFZLEtBQUssTUFBTSxJQUFJO0FBQ3pDLFFBQU0sU0FBUyxNQUFNLE1BQU0sR0FBRyxZQUFZLFNBQVMsRUFBRSxLQUFLLElBQUk7QUFDOUQsUUFBTSxlQUFlLE1BQU0sTUFBTSxZQUFZLFdBQVcsWUFBWSxVQUFVLENBQUMsRUFBRSxLQUFLLElBQUk7QUFDMUYsUUFBTSxTQUFTLE1BQU0sTUFBTSxZQUFZLFVBQVUsQ0FBQyxFQUFFLEtBQUssSUFBSTtBQUM3RCxRQUFNLGVBQWUsVUFBTSxtQ0FBYSxtQkFBbUIsWUFBWTtBQUN2RSxRQUFNLGlCQUFpQixTQUFTLE9BQU8sZ0JBQWdCLGVBQWUsT0FBTyxNQUFNO0FBQ25GLFlBQU0sc0JBQVEsS0FBSyxJQUFJLFlBQVksQ0FBQyxnQkFBWSwwQkFBVyxTQUFTLFlBQVksTUFBTSxjQUFjLENBQUM7QUFDdkc7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -49,7 +49,7 @@ var import_Reference = require('./Reference.cjs');
49
49
  var import_Vault = require('./Vault.cjs');
50
50
  var __process = globalThis["process"] ?? {
51
51
  "browser": true,
52
- "cwd": "[[Function0]]",
52
+ "cwd": () => "/",
53
53
  "env": {},
54
54
  "platform": "android"
55
55
  };
@@ -239,4 +239,4 @@ async function saveNote(app, pathOrFile) {
239
239
  registerFile,
240
240
  tempRegisterFileAndRun
241
241
  });
242
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL01ldGFkYXRhQ2FjaGUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzWydwcm9jZXNzJ10gPz8ge1xuICBcImJyb3dzZXJcIjogdHJ1ZSxcbiAgXCJjd2RcIjogXCJbW0Z1bmN0aW9uMF1dXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gTWV0YWRhdGFDYWNoZVxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIHdvcmtpbmcgd2l0aCB0aGUgbWV0YWRhdGEgY2FjaGUgaW4gT2JzaWRpYW4uXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIENhY2hlZE1ldGFkYXRhLFxuICBSZWZlcmVuY2UsXG4gIFRBYnN0cmFjdEZpbGVcbn0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHR5cGUgeyBDdXN0b21BcnJheURpY3QgfSBmcm9tICdvYnNpZGlhbi10eXBpbmdzJztcblxuaW1wb3J0IHsgTWFya2Rvd25WaWV3IH0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHtcbiAgaXNGcm9udG1hdHRlckxpbmtDYWNoZSxcbiAgaXNSZWZlcmVuY2VDYWNoZSxcbiAgcGFyZW50Rm9sZGVyUGF0aFxufSBmcm9tICdvYnNpZGlhbi10eXBpbmdzL2ltcGxlbWVudGF0aW9ucyc7XG5cbmltcG9ydCB0eXBlIHsgUmV0cnlPcHRpb25zIH0gZnJvbSAnLi4vQXN5bmMudHMnO1xuaW1wb3J0IHR5cGUgeyBQYXRoT3JGaWxlIH0gZnJvbSAnLi9GaWxlU3lzdGVtLnRzJztcbmltcG9ydCB0eXBlIHsgQ29tYmluZWRGcm9udG1hdHRlciB9IGZyb20gJy4vRnJvbnRtYXR0ZXIudHMnO1xuXG5pbXBvcnQgeyByZXRyeVdpdGhUaW1lb3V0IH0gZnJvbSAnLi4vQXN5bmMudHMnO1xuaW1wb3J0IHsgZ2V0RGVidWdnZXIgfSBmcm9tICcuLi9EZWJ1Zy50cyc7XG5pbXBvcnQgeyBub29wIH0gZnJvbSAnLi4vRnVuY3Rpb24udHMnO1xuaW1wb3J0IHsgZ2V0TmVzdGVkUHJvcGVydHlWYWx1ZSB9IGZyb20gJy4uL09iamVjdC50cyc7XG5pbXBvcnQge1xuICBnZXRGaWxlLFxuICBnZXRGaWxlT3JOdWxsLFxuICBnZXRGb2xkZXIsXG4gIGdldFBhdGgsXG4gIGlzRmlsZSxcbiAgaXNNYXJrZG93bkZpbGVcbn0gZnJvbSAnLi9GaWxlU3lzdGVtLnRzJztcbmltcG9ydCB7IHBhcnNlRnJvbnRtYXR0ZXIgfSBmcm9tICcuL0Zyb250bWF0dGVyLnRzJztcbmltcG9ydCB7IHNvcnRSZWZlcmVuY2VzIH0gZnJvbSAnLi9SZWZlcmVuY2UudHMnO1xuaW1wb3J0IHsgcmVhZFNhZmUgfSBmcm9tICcuL1ZhdWx0LnRzJztcblxuLyoqXG4gKiBXcmFwcGVyIGZvciB0aGUgZ2V0QmFja2xpbmtzRm9yRmlsZSBtZXRob2QgdGhhdCBwcm92aWRlcyBhIHNhZmUgb3ZlcmxvYWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2V0QmFja2xpbmtzRm9yRmlsZVNhZmVXcmFwcGVyIHtcbiAgLyoqXG4gICAqIFJldHJpZXZlcyB0aGUgYmFja2xpbmtzIGZvciBhIGZpbGUgc2FmZWx5LlxuICAgKlxuICAgKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGZpbGUgb2JqZWN0LlxuICAgKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhbiBhcnJheSBkaWN0aW9uYXJ5IG9mIGJhY2tsaW5rcy5cbiAgICovXG4gIHNhZmUocGF0aE9yRmlsZTogUGF0aE9yRmlsZSk6IFByb21pc2U8Q3VzdG9tQXJyYXlEaWN0PFJlZmVyZW5jZT4+O1xufVxuXG5jb25zdCBnZXRDYWNoZVNhZmVEZWJ1Z2dlciA9IGdldERlYnVnZ2VyKCdvYnNpZGlhbi1kZXYtdXRpbHM6TWV0YWRhdGFDYWNoZTpnZXRDYWNoZVNhZmUnKTtcblxuLyoqXG4gKiBFbnN1cmVzIHRoYXQgdGhlIG1ldGFkYXRhIGNhY2hlIGlzIHJlYWR5IGZvciBhbGwgZmlsZXMuXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIG1ldGFkYXRhIGNhY2hlIGlzIHJlYWR5LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZW5zdXJlTWV0YWRhdGFDYWNoZVJlYWR5KGFwcDogQXBwKTogUHJvbWlzZTx2b2lkPiB7XG4gIGZvciAoY29uc3QgW3BhdGgsIGNhY2hlXSBvZiBPYmplY3QuZW50cmllcyhhcHAubWV0YWRhdGFDYWNoZS5maWxlQ2FjaGUpKSB7XG4gICAgaWYgKCFjYWNoZS5oYXNoKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoYXBwLm1ldGFkYXRhQ2FjaGUubWV0YWRhdGFDYWNoZVtjYWNoZS5oYXNoXSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgYXdhaXQgZ2V0Q2FjaGVTYWZlKGFwcCwgcGF0aCk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgYWxsIGxpbmtzIGZyb20gdGhlIHByb3ZpZGVkIGNhY2hlLlxuICpcbiAqIEBwYXJhbSBjYWNoZSAtIFRoZSBjYWNoZWQgbWV0YWRhdGEuXG4gKiBAcmV0dXJucyBBbiBhcnJheSBvZiByZWZlcmVuY2UgY2FjaGVzIHJlcHJlc2VudGluZyB0aGUgbGlua3MuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBbGxMaW5rcyhjYWNoZTogQ2FjaGVkTWV0YWRhdGEpOiBSZWZlcmVuY2VbXSB7XG4gIGxldCBsaW5rczogUmVmZXJlbmNlW10gPSBbXTtcblxuICBpZiAoY2FjaGUubGlua3MpIHtcbiAgICBsaW5rcy5wdXNoKC4uLmNhY2hlLmxpbmtzKTtcbiAgfVxuXG4gIGlmIChjYWNoZS5lbWJlZHMpIHtcbiAgICBsaW5rcy5wdXNoKC4uLmNhY2hlLmVtYmVkcyk7XG4gIH1cblxuICBpZiAoY2FjaGUuZnJvbnRtYXR0ZXJMaW5rcykge1xuICAgIGxpbmtzLnB1c2goLi4uY2FjaGUuZnJvbnRtYXR0ZXJMaW5rcyk7XG4gIH1cblxuICBzb3J0UmVmZXJlbmNlcyhsaW5rcyk7XG5cbiAgLy8gQlVHOiBodHRwczovL2ZvcnVtLm9ic2lkaWFuLm1kL3QvYnVnLWR1cGxpY2F0ZWQtbGlua3MtaW4tbWV0YWRhdGFjYWNoZS1pbnNpZGUtZm9vdG5vdGVzLzg1NTUxXG4gIGxpbmtzID0gbGlua3MuZmlsdGVyKChsaW5rLCBpbmRleCkgPT4ge1xuICAgIGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgY29uc3QgcHJldmlvdXNMaW5rID0gbGlua3NbaW5kZXggLSAxXTtcbiAgICBpZiAoIXByZXZpb3VzTGluaykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKGlzUmVmZXJlbmNlQ2FjaGUobGluaykgJiYgaXNSZWZlcmVuY2VDYWNoZShwcmV2aW91c0xpbmspKSB7XG4gICAgICByZXR1cm4gbGluay5wb3NpdGlvbi5zdGFydC5vZmZzZXQgIT09IHByZXZpb3VzTGluay5wb3NpdGlvbi5zdGFydC5vZmZzZXQ7XG4gICAgfVxuXG4gICAgaWYgKGlzRnJvbnRtYXR0ZXJMaW5rQ2FjaGUobGluaykgJiYgaXNGcm9udG1hdHRlckxpbmtDYWNoZShwcmV2aW91c0xpbmspKSB7XG4gICAgICByZXR1cm4gbGluay5rZXkgIT09IHByZXZpb3VzTGluay5rZXk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH0pO1xuXG4gIHJldHVybiBsaW5rcztcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGJhY2tsaW5rcyBmb3IgYSBmaWxlIG9yIHBhdGguXG4gKiBOT1RFOiBUaGUgZmlsZSBtYXkgYmUgbm9uLWV4aXN0ZW50LlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGZpbGUgb2JqZWN0LlxuICogQHJldHVybnMgVGhlIGJhY2tsaW5rcyBmb3IgdGhlIGZpbGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRCYWNrbGlua3NGb3JGaWxlT3JQYXRoKGFwcDogQXBwLCBwYXRoT3JGaWxlOiBQYXRoT3JGaWxlKTogQ3VzdG9tQXJyYXlEaWN0PFJlZmVyZW5jZT4ge1xuICBjb25zdCBmaWxlID0gZ2V0RmlsZShhcHAsIHBhdGhPckZpbGUsIHRydWUpO1xuICByZXR1cm4gdGVtcFJlZ2lzdGVyRmlsZUFuZFJ1bihhcHAsIGZpbGUsICgpID0+IGFwcC5tZXRhZGF0YUNhY2hlLmdldEJhY2tsaW5rc0ZvckZpbGUoZmlsZSkpO1xufVxuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgYmFja2xpbmtzIGZvciBhIGZpbGUgc2FmZWx5LlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGZpbGUgb2JqZWN0LlxuICogQHBhcmFtIHJldHJ5T3B0aW9ucyAtIE9wdGlvbmFsIHJldHJ5IG9wdGlvbnMuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhbiBhcnJheSBkaWN0aW9uYXJ5IG9mIGJhY2tsaW5rcy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEJhY2tsaW5rc0ZvckZpbGVTYWZlKGFwcDogQXBwLCBwYXRoT3JGaWxlOiBQYXRoT3JGaWxlLCByZXRyeU9wdGlvbnM6IFJldHJ5T3B0aW9ucyA9IHt9KTogUHJvbWlzZTxDdXN0b21BcnJheURpY3Q8UmVmZXJlbmNlPj4ge1xuICBjb25zdCBzYWZlT3ZlcmxvYWQgPSAoYXBwLm1ldGFkYXRhQ2FjaGUuZ2V0QmFja2xpbmtzRm9yRmlsZSBhcyBQYXJ0aWFsPEdldEJhY2tsaW5rc0ZvckZpbGVTYWZlV3JhcHBlcj4pLnNhZmU7XG4gIGlmIChzYWZlT3ZlcmxvYWQpIHtcbiAgICByZXR1cm4gc2FmZU92ZXJsb2FkKHBhdGhPckZpbGUpO1xuICB9XG4gIGxldCBiYWNrbGlua3M6IEN1c3RvbUFycmF5RGljdDxSZWZlcmVuY2U+ID0gbnVsbCBhcyB1bmtub3duIGFzIEN1c3RvbUFycmF5RGljdDxSZWZlcmVuY2U+O1xuICBhd2FpdCByZXRyeVdpdGhUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBmaWxlID0gZ2V0RmlsZShhcHAsIHBhdGhPckZpbGUpO1xuICAgIGF3YWl0IGVuc3VyZU1ldGFkYXRhQ2FjaGVSZWFkeShhcHApO1xuICAgIGJhY2tsaW5rcyA9IGdldEJhY2tsaW5rc0ZvckZpbGVPclBhdGgoYXBwLCBmaWxlKTtcbiAgICBmb3IgKGNvbnN0IG5vdGVQYXRoIG9mIGJhY2tsaW5rcy5rZXlzKCkpIHtcbiAgICAgIGNvbnN0IG5vdGUgPSBnZXRGaWxlT3JOdWxsKGFwcCwgbm90ZVBhdGgpO1xuICAgICAgaWYgKCFub3RlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgYXdhaXQgc2F2ZU5vdGUoYXBwLCBub3RlKTtcblxuICAgICAgY29uc3QgY29udGVudCA9IGF3YWl0IHJlYWRTYWZlKGFwcCwgbm90ZSk7XG4gICAgICBpZiAoIWNvbnRlbnQpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgY29uc3QgZnJvbnRtYXR0ZXIgPSBwYXJzZUZyb250bWF0dGVyKGNvbnRlbnQpO1xuICAgICAgY29uc3QgbGlua3MgPSBiYWNrbGlua3MuZ2V0KG5vdGVQYXRoKTtcbiAgICAgIGlmICghbGlua3MpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBmb3IgKGNvbnN0IGxpbmsgb2YgbGlua3MpIHtcbiAgICAgICAgbGV0IGFjdHVhbExpbms6IHN0cmluZztcbiAgICAgICAgaWYgKGlzUmVmZXJlbmNlQ2FjaGUobGluaykpIHtcbiAgICAgICAgICBhY3R1YWxMaW5rID0gY29udGVudC5zbGljZShsaW5rLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldCwgbGluay5wb3NpdGlvbi5lbmQub2Zmc2V0KTtcbiAgICAgICAgfSBlbHNlIGlmIChpc0Zyb250bWF0dGVyTGlua0NhY2hlKGxpbmspKSB7XG4gICAgICAgICAgY29uc3QgbGlua1ZhbHVlID0gZ2V0TmVzdGVkUHJvcGVydHlWYWx1ZShmcm9udG1hdHRlciwgbGluay5rZXkpO1xuICAgICAgICAgIGlmICh0eXBlb2YgbGlua1ZhbHVlICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBhY3R1YWxMaW5rID0gbGlua1ZhbHVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhY3R1YWxMaW5rICE9PSBsaW5rLm9yaWdpbmFsKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH0sIHJldHJ5T3B0aW9ucyk7XG5cbiAgcmV0dXJuIGJhY2tsaW5rcztcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGNhY2hlZCBtZXRhZGF0YSBmb3IgYSBnaXZlbiBmaWxlIG9yIHBhdGguXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gZmlsZU9yUGF0aCAtIFRoZSBmaWxlIG9yIHBhdGggdG8gcmV0cmlldmUgdGhlIG1ldGFkYXRhIGZvci5cbiAqIEBwYXJhbSByZXRyeU9wdGlvbnMgLSBPcHRpb25hbCByZXRyeSBvcHRpb25zIGZvciB0aGUgcmV0cmlldmFsIHByb2Nlc3MuXG4gKiBAcmV0dXJucyBUaGUgY2FjaGVkIG1ldGFkYXRhIGZvciB0aGUgZmlsZSwgb3IgbnVsbCBpZiBpdCBkb2Vzbid0IGV4aXN0LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0Q2FjaGVTYWZlKGFwcDogQXBwLCBmaWxlT3JQYXRoOiBQYXRoT3JGaWxlLCByZXRyeU9wdGlvbnM6IFJldHJ5T3B0aW9ucyA9IHt9KTogUHJvbWlzZTxDYWNoZWRNZXRhZGF0YSB8IG51bGw+IHtcbiAgbGV0IGNhY2hlOiBDYWNoZWRNZXRhZGF0YSB8IG51bGwgPSBudWxsO1xuXG4gIGF3YWl0IHJldHJ5V2l0aFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGZpbGUgPSBnZXRGaWxlT3JOdWxsKGFwcCwgZmlsZU9yUGF0aCk7XG5cbiAgICBpZiAoIWZpbGUgfHwgZmlsZS5kZWxldGVkKSB7XG4gICAgICBjYWNoZSA9IG51bGw7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBhd2FpdCBzYXZlTm90ZShhcHAsIGZpbGUpO1xuXG4gICAgY29uc3QgZmlsZUluZm8gPSBhcHAubWV0YWRhdGFDYWNoZS5nZXRGaWxlSW5mbyhmaWxlLnBhdGgpO1xuICAgIGNvbnN0IHN0YXQgPSBhd2FpdCBhcHAudmF1bHQuYWRhcHRlci5zdGF0KGZpbGUucGF0aCk7XG5cbiAgICBpZiAoIWZpbGVJbmZvKSB7XG4gICAgICBnZXRDYWNoZVNhZmVEZWJ1Z2dlcihgRmlsZSBjYWNoZSBpbmZvIGZvciAke2ZpbGUucGF0aH0gaXMgbWlzc2luZ2ApO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSBpZiAoIXN0YXQpIHtcbiAgICAgIGdldENhY2hlU2FmZURlYnVnZ2VyKGBGaWxlIHN0YXQgZm9yICR7ZmlsZS5wYXRofSBpcyBtaXNzaW5nYCk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBlbHNlIGlmIChmaWxlLnN0YXQubXRpbWUgPCBzdGF0Lm10aW1lKSB7XG4gICAgICBhcHAudmF1bHQub25DaGFuZ2UoJ21vZGlmaWVkJywgZmlsZS5wYXRoLCB1bmRlZmluZWQsIHN0YXQpO1xuICAgICAgZ2V0Q2FjaGVTYWZlRGVidWdnZXIoYENhY2hlZCB0aW1lc3RhbXAgZm9yICR7ZmlsZS5wYXRofSBpcyBmcm9tICR7bmV3IERhdGUoZmlsZS5zdGF0Lm10aW1lKS50b1N0cmluZygpfSB3aGljaCBpcyBvbGRlciB0aGFuIHRoZSBmaWxlIHN5c3RlbSBtb2RpZmljYXRpb24gdGltZXN0YW1wICR7bmV3IERhdGUoc3RhdC5tdGltZSkudG9TdHJpbmcoKX1gKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKGZpbGVJbmZvLm10aW1lIDwgc3RhdC5tdGltZSkge1xuICAgICAgZ2V0Q2FjaGVTYWZlRGVidWdnZXIoYEZpbGUgY2FjaGUgaW5mbyBmb3IgJHtmaWxlLnBhdGh9IGlzIGZyb20gJHtuZXcgRGF0ZShmaWxlSW5mby5tdGltZSkudG9TdHJpbmcoKX0gd2hpY2ggaXMgb2xkZXIgdGhhbiB0aGUgZmlsZSBtb2RpZmljYXRpb24gdGltZXN0YW1wICR7bmV3IERhdGUoc3RhdC5tdGltZSkudG9TdHJpbmcoKX1gKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2FjaGUgPSBhcHAubWV0YWRhdGFDYWNoZS5nZXRGaWxlQ2FjaGUoZmlsZSk7XG4gICAgICBpZiAoIWNhY2hlKSB7XG4gICAgICAgIGdldENhY2hlU2FmZURlYnVnZ2VyKGBGaWxlIGNhY2hlIGZvciAke2ZpbGUucGF0aH0gaXMgbWlzc2luZ2ApO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIHJldHJ5T3B0aW9ucyk7XG5cbiAgcmV0dXJuIGNhY2hlO1xufVxuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgZnJvbnQgbWF0dGVyIGZyb20gdGhlIG1ldGFkYXRhIGNhY2hlIHNhZmVseS5cbiAqXG4gKiBAdHlwZVBhcmFtIEN1c3RvbUZyb250bWF0dGVyIC0gVGhlIHR5cGUgb2YgY3VzdG9tIGZyb250IG1hdHRlci5cbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBmaWxlIHRvIHJldHJpZXZlIHRoZSBmcm9udCBtYXR0ZXIgZnJvbS5cbiAqIEByZXR1cm5zIFRoZSBjb21iaW5lZCBmcm9udCBtYXR0ZXIuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRGcm9udG1hdHRlclNhZmU8Q3VzdG9tRnJvbnRtYXR0ZXIgPSB1bmtub3duPihhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSk6IFByb21pc2U8Q29tYmluZWRGcm9udG1hdHRlcjxDdXN0b21Gcm9udG1hdHRlcj4+IHtcbiAgY29uc3QgY2FjaGUgPSBhd2FpdCBnZXRDYWNoZVNhZmUoYXBwLCBwYXRoT3JGaWxlKTtcbiAgcmV0dXJuIChjYWNoZT8uZnJvbnRtYXR0ZXIgPz8ge30pIGFzIENvbWJpbmVkRnJvbnRtYXR0ZXI8Q3VzdG9tRnJvbnRtYXR0ZXI+O1xufVxuXG4vKioqXG4gKiBSZWdpc3RlcnMgYSBmaWxlIGluIHRoZSBPYnNpZGlhbiBhcHAuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gZmlsZSAtIFRoZSBmaWxlIHRvIHJlZ2lzdGVyLlxuICogQHJldHVybnMgQSBmdW5jdGlvbiB0aGF0IHVucmVnaXN0ZXJzIHRoZSBmaWxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJGaWxlKGFwcDogQXBwLCBmaWxlOiBUQWJzdHJhY3RGaWxlKTogKCkgPT4gdm9pZCB7XG4gIGlmICghZmlsZS5kZWxldGVkKSB7XG4gICAgcmV0dXJuIG5vb3A7XG4gIH1cblxuICBjb25zdCBkZWxldGVkUGF0aHM6IHN0cmluZ1tdID0gW107XG5cbiAgbGV0IGRlbGV0ZWRGaWxlOiBUQWJzdHJhY3RGaWxlID0gZmlsZTtcblxuICB3aGlsZSAoZGVsZXRlZEZpbGUuZGVsZXRlZCkge1xuICAgIGRlbGV0ZWRQYXRocy5wdXNoKGRlbGV0ZWRGaWxlLnBhdGgpO1xuICAgIGFwcC52YXVsdC5maWxlTWFwW2RlbGV0ZWRGaWxlLnBhdGhdID0gZGVsZXRlZEZpbGU7XG4gICAgZGVsZXRlZEZpbGUgPSBkZWxldGVkRmlsZS5wYXJlbnQgPz8gZ2V0Rm9sZGVyKGFwcCwgcGFyZW50Rm9sZGVyUGF0aChkZWxldGVkRmlsZS5wYXRoKSwgdHJ1ZSk7XG4gIH1cblxuICBpZiAoaXNGaWxlKGZpbGUpKSB7XG4gICAgYXBwLm1ldGFkYXRhQ2FjaGUudW5pcXVlRmlsZUxvb2t1cC5hZGQoZmlsZS5uYW1lLnRvTG93ZXJDYXNlKCksIGZpbGUpO1xuICB9XG5cbiAgcmV0dXJuICgpID0+IHtcbiAgICBmb3IgKGNvbnN0IHBhdGggb2YgZGVsZXRlZFBhdGhzKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWR5bmFtaWMtZGVsZXRlXG4gICAgICBkZWxldGUgYXBwLnZhdWx0LmZpbGVNYXBbcGF0aF07XG4gICAgfVxuXG4gICAgaWYgKGlzRmlsZShmaWxlKSkge1xuICAgICAgYXBwLm1ldGFkYXRhQ2FjaGUudW5pcXVlRmlsZUxvb2t1cC5yZW1vdmUoZmlsZS5uYW1lLnRvTG93ZXJDYXNlKCksIGZpbGUpO1xuICAgIH1cbiAgfTtcbn1cblxuLyoqXG4gKiBUZW1wb3JhcmlseSByZWdpc3RlcnMgYSBmaWxlIGFuZCBydW5zIGEgZnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gZmlsZSAtIFRoZSBmaWxlIHRvIHRlbXBvcmFyaWx5IHJlZ2lzdGVyLlxuICogQHBhcmFtIGZuIC0gVGhlIGZ1bmN0aW9uIHRvIHJ1bi5cbiAqIEByZXR1cm5zIFRoZSByZXN1bHQgb2YgdGhlIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdGVtcFJlZ2lzdGVyRmlsZUFuZFJ1bjxUPihhcHA6IEFwcCwgZmlsZTogVEFic3RyYWN0RmlsZSwgZm46ICgpID0+IFQpOiBUIHtcbiAgY29uc3QgdW5yZWdpc3RlciA9IHJlZ2lzdGVyRmlsZShhcHAsIGZpbGUpO1xuXG4gIHRyeSB7XG4gICAgcmV0dXJuIGZuKCk7XG4gIH0gZmluYWxseSB7XG4gICAgdW5yZWdpc3RlcigpO1xuICB9XG59XG5cbi8qKlxuICogU2F2ZXMgdGhlIHNwZWNpZmllZCBub3RlIGluIHRoZSBPYnNpZGlhbiBhcHAuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBub3RlIHRvIGJlIHNhdmVkLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgbm90ZSBpcyBzYXZlZC5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gc2F2ZU5vdGUoYXBwOiBBcHAsIHBhdGhPckZpbGU6IFBhdGhPckZpbGUpOiBQcm9taXNlPHZvaWQ+IHtcbiAgaWYgKCFpc01hcmtkb3duRmlsZShhcHAsIHBhdGhPckZpbGUpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgcGF0aCA9IGdldFBhdGgoYXBwLCBwYXRoT3JGaWxlKTtcblxuICBmb3IgKGNvbnN0IGxlYWYgb2YgYXBwLndvcmtzcGFjZS5nZXRMZWF2ZXNPZlR5cGUoJ21hcmtkb3duJykpIHtcbiAgICBpZiAobGVhZi52aWV3IGluc3RhbmNlb2YgTWFya2Rvd25WaWV3ICYmIGxlYWYudmlldy5maWxlPy5wYXRoID09PSBwYXRoKSB7XG4gICAgICBhd2FpdCBsZWFmLnZpZXcuc2F2ZSgpO1xuICAgIH1cbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBbUJBLHNCQUE2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
242
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL01ldGFkYXRhQ2FjaGUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzWydwcm9jZXNzJ10gPz8ge1xuICBcImJyb3dzZXJcIjogdHJ1ZSxcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIE1ldGFkYXRhQ2FjaGVcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIHV0aWxpdHkgZnVuY3Rpb25zIGZvciB3b3JraW5nIHdpdGggdGhlIG1ldGFkYXRhIGNhY2hlIGluIE9ic2lkaWFuLlxuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgQXBwLFxuICBDYWNoZWRNZXRhZGF0YSxcbiAgUmVmZXJlbmNlLFxuICBUQWJzdHJhY3RGaWxlXG59IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgQ3VzdG9tQXJyYXlEaWN0IH0gZnJvbSAnb2JzaWRpYW4tdHlwaW5ncyc7XG5cbmltcG9ydCB7IE1hcmtkb3duVmlldyB9IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB7XG4gIGlzRnJvbnRtYXR0ZXJMaW5rQ2FjaGUsXG4gIGlzUmVmZXJlbmNlQ2FjaGUsXG4gIHBhcmVudEZvbGRlclBhdGhcbn0gZnJvbSAnb2JzaWRpYW4tdHlwaW5ncy9pbXBsZW1lbnRhdGlvbnMnO1xuXG5pbXBvcnQgdHlwZSB7IFJldHJ5T3B0aW9ucyB9IGZyb20gJy4uL0FzeW5jLnRzJztcbmltcG9ydCB0eXBlIHsgUGF0aE9yRmlsZSB9IGZyb20gJy4vRmlsZVN5c3RlbS50cyc7XG5pbXBvcnQgdHlwZSB7IENvbWJpbmVkRnJvbnRtYXR0ZXIgfSBmcm9tICcuL0Zyb250bWF0dGVyLnRzJztcblxuaW1wb3J0IHsgcmV0cnlXaXRoVGltZW91dCB9IGZyb20gJy4uL0FzeW5jLnRzJztcbmltcG9ydCB7IGdldERlYnVnZ2VyIH0gZnJvbSAnLi4vRGVidWcudHMnO1xuaW1wb3J0IHsgbm9vcCB9IGZyb20gJy4uL0Z1bmN0aW9uLnRzJztcbmltcG9ydCB7IGdldE5lc3RlZFByb3BlcnR5VmFsdWUgfSBmcm9tICcuLi9PYmplY3QudHMnO1xuaW1wb3J0IHtcbiAgZ2V0RmlsZSxcbiAgZ2V0RmlsZU9yTnVsbCxcbiAgZ2V0Rm9sZGVyLFxuICBnZXRQYXRoLFxuICBpc0ZpbGUsXG4gIGlzTWFya2Rvd25GaWxlXG59IGZyb20gJy4vRmlsZVN5c3RlbS50cyc7XG5pbXBvcnQgeyBwYXJzZUZyb250bWF0dGVyIH0gZnJvbSAnLi9Gcm9udG1hdHRlci50cyc7XG5pbXBvcnQgeyBzb3J0UmVmZXJlbmNlcyB9IGZyb20gJy4vUmVmZXJlbmNlLnRzJztcbmltcG9ydCB7IHJlYWRTYWZlIH0gZnJvbSAnLi9WYXVsdC50cyc7XG5cbi8qKlxuICogV3JhcHBlciBmb3IgdGhlIGdldEJhY2tsaW5rc0ZvckZpbGUgbWV0aG9kIHRoYXQgcHJvdmlkZXMgYSBzYWZlIG92ZXJsb2FkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdldEJhY2tsaW5rc0ZvckZpbGVTYWZlV3JhcHBlciB7XG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgdGhlIGJhY2tsaW5rcyBmb3IgYSBmaWxlIHNhZmVseS5cbiAgICpcbiAgICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBmaWxlIG9iamVjdC5cbiAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYW4gYXJyYXkgZGljdGlvbmFyeSBvZiBiYWNrbGlua3MuXG4gICAqL1xuICBzYWZlKHBhdGhPckZpbGU6IFBhdGhPckZpbGUpOiBQcm9taXNlPEN1c3RvbUFycmF5RGljdDxSZWZlcmVuY2U+Pjtcbn1cblxuY29uc3QgZ2V0Q2FjaGVTYWZlRGVidWdnZXIgPSBnZXREZWJ1Z2dlcignb2JzaWRpYW4tZGV2LXV0aWxzOk1ldGFkYXRhQ2FjaGU6Z2V0Q2FjaGVTYWZlJyk7XG5cbi8qKlxuICogRW5zdXJlcyB0aGF0IHRoZSBtZXRhZGF0YSBjYWNoZSBpcyByZWFkeSBmb3IgYWxsIGZpbGVzLlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBtZXRhZGF0YSBjYWNoZSBpcyByZWFkeS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVuc3VyZU1ldGFkYXRhQ2FjaGVSZWFkeShhcHA6IEFwcCk6IFByb21pc2U8dm9pZD4ge1xuICBmb3IgKGNvbnN0IFtwYXRoLCBjYWNoZV0gb2YgT2JqZWN0LmVudHJpZXMoYXBwLm1ldGFkYXRhQ2FjaGUuZmlsZUNhY2hlKSkge1xuICAgIGlmICghY2FjaGUuaGFzaCkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKGFwcC5tZXRhZGF0YUNhY2hlLm1ldGFkYXRhQ2FjaGVbY2FjaGUuaGFzaF0pIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGF3YWl0IGdldENhY2hlU2FmZShhcHAsIHBhdGgpO1xuICB9XG59XG5cbi8qKlxuICogUmV0cmlldmVzIGFsbCBsaW5rcyBmcm9tIHRoZSBwcm92aWRlZCBjYWNoZS5cbiAqXG4gKiBAcGFyYW0gY2FjaGUgLSBUaGUgY2FjaGVkIG1ldGFkYXRhLlxuICogQHJldHVybnMgQW4gYXJyYXkgb2YgcmVmZXJlbmNlIGNhY2hlcyByZXByZXNlbnRpbmcgdGhlIGxpbmtzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWxsTGlua3MoY2FjaGU6IENhY2hlZE1ldGFkYXRhKTogUmVmZXJlbmNlW10ge1xuICBsZXQgbGlua3M6IFJlZmVyZW5jZVtdID0gW107XG5cbiAgaWYgKGNhY2hlLmxpbmtzKSB7XG4gICAgbGlua3MucHVzaCguLi5jYWNoZS5saW5rcyk7XG4gIH1cblxuICBpZiAoY2FjaGUuZW1iZWRzKSB7XG4gICAgbGlua3MucHVzaCguLi5jYWNoZS5lbWJlZHMpO1xuICB9XG5cbiAgaWYgKGNhY2hlLmZyb250bWF0dGVyTGlua3MpIHtcbiAgICBsaW5rcy5wdXNoKC4uLmNhY2hlLmZyb250bWF0dGVyTGlua3MpO1xuICB9XG5cbiAgc29ydFJlZmVyZW5jZXMobGlua3MpO1xuXG4gIC8vIEJVRzogaHR0cHM6Ly9mb3J1bS5vYnNpZGlhbi5tZC90L2J1Zy1kdXBsaWNhdGVkLWxpbmtzLWluLW1ldGFkYXRhY2FjaGUtaW5zaWRlLWZvb3Rub3Rlcy84NTU1MVxuICBsaW5rcyA9IGxpbmtzLmZpbHRlcigobGluaywgaW5kZXgpID0+IHtcbiAgICBpZiAoaW5kZXggPT09IDApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHByZXZpb3VzTGluayA9IGxpbmtzW2luZGV4IC0gMV07XG4gICAgaWYgKCFwcmV2aW91c0xpbmspIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChpc1JlZmVyZW5jZUNhY2hlKGxpbmspICYmIGlzUmVmZXJlbmNlQ2FjaGUocHJldmlvdXNMaW5rKSkge1xuICAgICAgcmV0dXJuIGxpbmsucG9zaXRpb24uc3RhcnQub2Zmc2V0ICE9PSBwcmV2aW91c0xpbmsucG9zaXRpb24uc3RhcnQub2Zmc2V0O1xuICAgIH1cblxuICAgIGlmIChpc0Zyb250bWF0dGVyTGlua0NhY2hlKGxpbmspICYmIGlzRnJvbnRtYXR0ZXJMaW5rQ2FjaGUocHJldmlvdXNMaW5rKSkge1xuICAgICAgcmV0dXJuIGxpbmsua2V5ICE9PSBwcmV2aW91c0xpbmsua2V5O1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9KTtcblxuICByZXR1cm4gbGlua3M7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBiYWNrbGlua3MgZm9yIGEgZmlsZSBvciBwYXRoLlxuICogTk9URTogVGhlIGZpbGUgbWF5IGJlIG5vbi1leGlzdGVudC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBmaWxlIG9iamVjdC5cbiAqIEByZXR1cm5zIFRoZSBiYWNrbGlua3MgZm9yIHRoZSBmaWxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QmFja2xpbmtzRm9yRmlsZU9yUGF0aChhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSk6IEN1c3RvbUFycmF5RGljdDxSZWZlcmVuY2U+IHtcbiAgY29uc3QgZmlsZSA9IGdldEZpbGUoYXBwLCBwYXRoT3JGaWxlLCB0cnVlKTtcbiAgcmV0dXJuIHRlbXBSZWdpc3RlckZpbGVBbmRSdW4oYXBwLCBmaWxlLCAoKSA9PiBhcHAubWV0YWRhdGFDYWNoZS5nZXRCYWNrbGlua3NGb3JGaWxlKGZpbGUpKTtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGJhY2tsaW5rcyBmb3IgYSBmaWxlIHNhZmVseS5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBmaWxlIG9iamVjdC5cbiAqIEBwYXJhbSByZXRyeU9wdGlvbnMgLSBPcHRpb25hbCByZXRyeSBvcHRpb25zLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYW4gYXJyYXkgZGljdGlvbmFyeSBvZiBiYWNrbGlua3MuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRCYWNrbGlua3NGb3JGaWxlU2FmZShhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSwgcmV0cnlPcHRpb25zOiBSZXRyeU9wdGlvbnMgPSB7fSk6IFByb21pc2U8Q3VzdG9tQXJyYXlEaWN0PFJlZmVyZW5jZT4+IHtcbiAgY29uc3Qgc2FmZU92ZXJsb2FkID0gKGFwcC5tZXRhZGF0YUNhY2hlLmdldEJhY2tsaW5rc0ZvckZpbGUgYXMgUGFydGlhbDxHZXRCYWNrbGlua3NGb3JGaWxlU2FmZVdyYXBwZXI+KS5zYWZlO1xuICBpZiAoc2FmZU92ZXJsb2FkKSB7XG4gICAgcmV0dXJuIHNhZmVPdmVybG9hZChwYXRoT3JGaWxlKTtcbiAgfVxuICBsZXQgYmFja2xpbmtzOiBDdXN0b21BcnJheURpY3Q8UmVmZXJlbmNlPiA9IG51bGwgYXMgdW5rbm93biBhcyBDdXN0b21BcnJheURpY3Q8UmVmZXJlbmNlPjtcbiAgYXdhaXQgcmV0cnlXaXRoVGltZW91dChhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgZmlsZSA9IGdldEZpbGUoYXBwLCBwYXRoT3JGaWxlKTtcbiAgICBhd2FpdCBlbnN1cmVNZXRhZGF0YUNhY2hlUmVhZHkoYXBwKTtcbiAgICBiYWNrbGlua3MgPSBnZXRCYWNrbGlua3NGb3JGaWxlT3JQYXRoKGFwcCwgZmlsZSk7XG4gICAgZm9yIChjb25zdCBub3RlUGF0aCBvZiBiYWNrbGlua3Mua2V5cygpKSB7XG4gICAgICBjb25zdCBub3RlID0gZ2V0RmlsZU9yTnVsbChhcHAsIG5vdGVQYXRoKTtcbiAgICAgIGlmICghbm90ZSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGF3YWl0IHNhdmVOb3RlKGFwcCwgbm90ZSk7XG5cbiAgICAgIGNvbnN0IGNvbnRlbnQgPSBhd2FpdCByZWFkU2FmZShhcHAsIG5vdGUpO1xuICAgICAgaWYgKCFjb250ZW50KSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGZyb250bWF0dGVyID0gcGFyc2VGcm9udG1hdHRlcihjb250ZW50KTtcbiAgICAgIGNvbnN0IGxpbmtzID0gYmFja2xpbmtzLmdldChub3RlUGF0aCk7XG4gICAgICBpZiAoIWxpbmtzKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgZm9yIChjb25zdCBsaW5rIG9mIGxpbmtzKSB7XG4gICAgICAgIGxldCBhY3R1YWxMaW5rOiBzdHJpbmc7XG4gICAgICAgIGlmIChpc1JlZmVyZW5jZUNhY2hlKGxpbmspKSB7XG4gICAgICAgICAgYWN0dWFsTGluayA9IGNvbnRlbnQuc2xpY2UobGluay5wb3NpdGlvbi5zdGFydC5vZmZzZXQsIGxpbmsucG9zaXRpb24uZW5kLm9mZnNldCk7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNGcm9udG1hdHRlckxpbmtDYWNoZShsaW5rKSkge1xuICAgICAgICAgIGNvbnN0IGxpbmtWYWx1ZSA9IGdldE5lc3RlZFByb3BlcnR5VmFsdWUoZnJvbnRtYXR0ZXIsIGxpbmsua2V5KTtcbiAgICAgICAgICBpZiAodHlwZW9mIGxpbmtWYWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYWN0dWFsTGluayA9IGxpbmtWYWx1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYWN0dWFsTGluayAhPT0gbGluay5vcmlnaW5hbCkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9LCByZXRyeU9wdGlvbnMpO1xuXG4gIHJldHVybiBiYWNrbGlua3M7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBjYWNoZWQgbWV0YWRhdGEgZm9yIGEgZ2l2ZW4gZmlsZSBvciBwYXRoLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIGZpbGVPclBhdGggLSBUaGUgZmlsZSBvciBwYXRoIHRvIHJldHJpZXZlIHRoZSBtZXRhZGF0YSBmb3IuXG4gKiBAcGFyYW0gcmV0cnlPcHRpb25zIC0gT3B0aW9uYWwgcmV0cnkgb3B0aW9ucyBmb3IgdGhlIHJldHJpZXZhbCBwcm9jZXNzLlxuICogQHJldHVybnMgVGhlIGNhY2hlZCBtZXRhZGF0YSBmb3IgdGhlIGZpbGUsIG9yIG51bGwgaWYgaXQgZG9lc24ndCBleGlzdC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldENhY2hlU2FmZShhcHA6IEFwcCwgZmlsZU9yUGF0aDogUGF0aE9yRmlsZSwgcmV0cnlPcHRpb25zOiBSZXRyeU9wdGlvbnMgPSB7fSk6IFByb21pc2U8Q2FjaGVkTWV0YWRhdGEgfCBudWxsPiB7XG4gIGxldCBjYWNoZTogQ2FjaGVkTWV0YWRhdGEgfCBudWxsID0gbnVsbDtcblxuICBhd2FpdCByZXRyeVdpdGhUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBmaWxlID0gZ2V0RmlsZU9yTnVsbChhcHAsIGZpbGVPclBhdGgpO1xuXG4gICAgaWYgKCFmaWxlIHx8IGZpbGUuZGVsZXRlZCkge1xuICAgICAgY2FjaGUgPSBudWxsO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgYXdhaXQgc2F2ZU5vdGUoYXBwLCBmaWxlKTtcblxuICAgIGNvbnN0IGZpbGVJbmZvID0gYXBwLm1ldGFkYXRhQ2FjaGUuZ2V0RmlsZUluZm8oZmlsZS5wYXRoKTtcbiAgICBjb25zdCBzdGF0ID0gYXdhaXQgYXBwLnZhdWx0LmFkYXB0ZXIuc3RhdChmaWxlLnBhdGgpO1xuXG4gICAgaWYgKCFmaWxlSW5mbykge1xuICAgICAgZ2V0Q2FjaGVTYWZlRGVidWdnZXIoYEZpbGUgY2FjaGUgaW5mbyBmb3IgJHtmaWxlLnBhdGh9IGlzIG1pc3NpbmdgKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKCFzdGF0KSB7XG4gICAgICBnZXRDYWNoZVNhZmVEZWJ1Z2dlcihgRmlsZSBzdGF0IGZvciAke2ZpbGUucGF0aH0gaXMgbWlzc2luZ2ApO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSBpZiAoZmlsZS5zdGF0Lm10aW1lIDwgc3RhdC5tdGltZSkge1xuICAgICAgYXBwLnZhdWx0Lm9uQ2hhbmdlKCdtb2RpZmllZCcsIGZpbGUucGF0aCwgdW5kZWZpbmVkLCBzdGF0KTtcbiAgICAgIGdldENhY2hlU2FmZURlYnVnZ2VyKGBDYWNoZWQgdGltZXN0YW1wIGZvciAke2ZpbGUucGF0aH0gaXMgZnJvbSAke25ldyBEYXRlKGZpbGUuc3RhdC5tdGltZSkudG9TdHJpbmcoKX0gd2hpY2ggaXMgb2xkZXIgdGhhbiB0aGUgZmlsZSBzeXN0ZW0gbW9kaWZpY2F0aW9uIHRpbWVzdGFtcCAke25ldyBEYXRlKHN0YXQubXRpbWUpLnRvU3RyaW5nKCl9YCk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBlbHNlIGlmIChmaWxlSW5mby5tdGltZSA8IHN0YXQubXRpbWUpIHtcbiAgICAgIGdldENhY2hlU2FmZURlYnVnZ2VyKGBGaWxlIGNhY2hlIGluZm8gZm9yICR7ZmlsZS5wYXRofSBpcyBmcm9tICR7bmV3IERhdGUoZmlsZUluZm8ubXRpbWUpLnRvU3RyaW5nKCl9IHdoaWNoIGlzIG9sZGVyIHRoYW4gdGhlIGZpbGUgbW9kaWZpY2F0aW9uIHRpbWVzdGFtcCAke25ldyBEYXRlKHN0YXQubXRpbWUpLnRvU3RyaW5nKCl9YCk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNhY2hlID0gYXBwLm1ldGFkYXRhQ2FjaGUuZ2V0RmlsZUNhY2hlKGZpbGUpO1xuICAgICAgaWYgKCFjYWNoZSkge1xuICAgICAgICBnZXRDYWNoZVNhZmVEZWJ1Z2dlcihgRmlsZSBjYWNoZSBmb3IgJHtmaWxlLnBhdGh9IGlzIG1pc3NpbmdgKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9LCByZXRyeU9wdGlvbnMpO1xuXG4gIHJldHVybiBjYWNoZTtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGZyb250IG1hdHRlciBmcm9tIHRoZSBtZXRhZGF0YSBjYWNoZSBzYWZlbHkuXG4gKlxuICogQHR5cGVQYXJhbSBDdXN0b21Gcm9udG1hdHRlciAtIFRoZSB0eXBlIG9mIGN1c3RvbSBmcm9udCBtYXR0ZXIuXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgZmlsZSB0byByZXRyaWV2ZSB0aGUgZnJvbnQgbWF0dGVyIGZyb20uXG4gKiBAcmV0dXJucyBUaGUgY29tYmluZWQgZnJvbnQgbWF0dGVyLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RnJvbnRtYXR0ZXJTYWZlPEN1c3RvbUZyb250bWF0dGVyID0gdW5rbm93bj4oYXBwOiBBcHAsIHBhdGhPckZpbGU6IFBhdGhPckZpbGUpOiBQcm9taXNlPENvbWJpbmVkRnJvbnRtYXR0ZXI8Q3VzdG9tRnJvbnRtYXR0ZXI+PiB7XG4gIGNvbnN0IGNhY2hlID0gYXdhaXQgZ2V0Q2FjaGVTYWZlKGFwcCwgcGF0aE9yRmlsZSk7XG4gIHJldHVybiAoY2FjaGU/LmZyb250bWF0dGVyID8/IHt9KSBhcyBDb21iaW5lZEZyb250bWF0dGVyPEN1c3RvbUZyb250bWF0dGVyPjtcbn1cblxuLyoqKlxuICogUmVnaXN0ZXJzIGEgZmlsZSBpbiB0aGUgT2JzaWRpYW4gYXBwLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIGZpbGUgLSBUaGUgZmlsZSB0byByZWdpc3Rlci5cbiAqIEByZXR1cm5zIEEgZnVuY3Rpb24gdGhhdCB1bnJlZ2lzdGVycyB0aGUgZmlsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyRmlsZShhcHA6IEFwcCwgZmlsZTogVEFic3RyYWN0RmlsZSk6ICgpID0+IHZvaWQge1xuICBpZiAoIWZpbGUuZGVsZXRlZCkge1xuICAgIHJldHVybiBub29wO1xuICB9XG5cbiAgY29uc3QgZGVsZXRlZFBhdGhzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGxldCBkZWxldGVkRmlsZTogVEFic3RyYWN0RmlsZSA9IGZpbGU7XG5cbiAgd2hpbGUgKGRlbGV0ZWRGaWxlLmRlbGV0ZWQpIHtcbiAgICBkZWxldGVkUGF0aHMucHVzaChkZWxldGVkRmlsZS5wYXRoKTtcbiAgICBhcHAudmF1bHQuZmlsZU1hcFtkZWxldGVkRmlsZS5wYXRoXSA9IGRlbGV0ZWRGaWxlO1xuICAgIGRlbGV0ZWRGaWxlID0gZGVsZXRlZEZpbGUucGFyZW50ID8/IGdldEZvbGRlcihhcHAsIHBhcmVudEZvbGRlclBhdGgoZGVsZXRlZEZpbGUucGF0aCksIHRydWUpO1xuICB9XG5cbiAgaWYgKGlzRmlsZShmaWxlKSkge1xuICAgIGFwcC5tZXRhZGF0YUNhY2hlLnVuaXF1ZUZpbGVMb29rdXAuYWRkKGZpbGUubmFtZS50b0xvd2VyQ2FzZSgpLCBmaWxlKTtcbiAgfVxuXG4gIHJldHVybiAoKSA9PiB7XG4gICAgZm9yIChjb25zdCBwYXRoIG9mIGRlbGV0ZWRQYXRocykge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1keW5hbWljLWRlbGV0ZVxuICAgICAgZGVsZXRlIGFwcC52YXVsdC5maWxlTWFwW3BhdGhdO1xuICAgIH1cblxuICAgIGlmIChpc0ZpbGUoZmlsZSkpIHtcbiAgICAgIGFwcC5tZXRhZGF0YUNhY2hlLnVuaXF1ZUZpbGVMb29rdXAucmVtb3ZlKGZpbGUubmFtZS50b0xvd2VyQ2FzZSgpLCBmaWxlKTtcbiAgICB9XG4gIH07XG59XG5cbi8qKlxuICogVGVtcG9yYXJpbHkgcmVnaXN0ZXJzIGEgZmlsZSBhbmQgcnVucyBhIGZ1bmN0aW9uLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIGZpbGUgLSBUaGUgZmlsZSB0byB0ZW1wb3JhcmlseSByZWdpc3Rlci5cbiAqIEBwYXJhbSBmbiAtIFRoZSBmdW5jdGlvbiB0byBydW4uXG4gKiBAcmV0dXJucyBUaGUgcmVzdWx0IG9mIHRoZSBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRlbXBSZWdpc3RlckZpbGVBbmRSdW48VD4oYXBwOiBBcHAsIGZpbGU6IFRBYnN0cmFjdEZpbGUsIGZuOiAoKSA9PiBUKTogVCB7XG4gIGNvbnN0IHVucmVnaXN0ZXIgPSByZWdpc3RlckZpbGUoYXBwLCBmaWxlKTtcblxuICB0cnkge1xuICAgIHJldHVybiBmbigpO1xuICB9IGZpbmFsbHkge1xuICAgIHVucmVnaXN0ZXIoKTtcbiAgfVxufVxuXG4vKipcbiAqIFNhdmVzIHRoZSBzcGVjaWZpZWQgbm90ZSBpbiB0aGUgT2JzaWRpYW4gYXBwLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgbm90ZSB0byBiZSBzYXZlZC5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIG5vdGUgaXMgc2F2ZWQuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHNhdmVOb3RlKGFwcDogQXBwLCBwYXRoT3JGaWxlOiBQYXRoT3JGaWxlKTogUHJvbWlzZTx2b2lkPiB7XG4gIGlmICghaXNNYXJrZG93bkZpbGUoYXBwLCBwYXRoT3JGaWxlKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHBhdGggPSBnZXRQYXRoKGFwcCwgcGF0aE9yRmlsZSk7XG5cbiAgZm9yIChjb25zdCBsZWFmIG9mIGFwcC53b3Jrc3BhY2UuZ2V0TGVhdmVzT2ZUeXBlKCdtYXJrZG93bicpKSB7XG4gICAgaWYgKGxlYWYudmlldyBpbnN0YW5jZW9mIE1hcmtkb3duVmlldyAmJiBsZWFmLnZpZXcuZmlsZT8ucGF0aCA9PT0gcGF0aCkge1xuICAgICAgYXdhaXQgbGVhZi52aWV3LnNhdmUoKTtcbiAgICB9XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQW1CQSxzQkFBNkI7QUFDN0Is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
@@ -47,7 +47,7 @@ var import_Error = require('../../Error.cjs');
47
47
  var import_Function = require('../../Function.cjs');
48
48
  var __process = globalThis["process"] ?? {
49
49
  "browser": true,
50
- "cwd": "[[Function0]]",
50
+ "cwd": () => "/",
51
51
  "env": {},
52
52
  "platform": "android"
53
53
  };
@@ -180,4 +180,4 @@ ${message}`);
180
180
  0 && (module.exports = {
181
181
  PluginBase
182
182
  });
183
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BsdWdpbi9QbHVnaW5CYXNlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1sncHJvY2VzcyddID8/IHtcbiAgXCJicm93c2VyXCI6IHRydWUsXG4gIFwiY3dkXCI6IFwiW1tGdW5jdGlvbjBdXVwiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIFBsdWdpbkJhc2VcbiAqIEJhc2UgY2xhc3MgZm9yIE9ic2lkaWFuIHBsdWdpbnMgcHJvdmlkaW5nIHV0aWxpdHkgbWV0aG9kcyBmb3Igc2V0dGluZ3MgbWFuYWdlbWVudCwgZXJyb3IgaGFuZGxpbmcsIGFuZCBub3RpZmljYXRpb25zLlxuICpcbiAqIFRoaXMgY2xhc3Mgc2ltcGxpZmllcyB0aGUgcHJvY2VzcyBvZiBtYW5hZ2luZyBwbHVnaW4gc2V0dGluZ3MsIGRpc3BsYXlpbmcgbm90aWZpY2F0aW9ucywgYW5kIGhhbmRsaW5nIGVycm9ycy5cbiAqIFN1YmNsYXNzZXMgc2hvdWxkIGltcGxlbWVudCBtZXRob2RzIHRvIGNyZWF0ZSBkZWZhdWx0IHNldHRpbmdzIGFuZCBzZXR0aW5ncyB0YWJzLCBhbmQgY29tcGxldGUgcGx1Z2luLXNwZWNpZmljXG4gKiBsb2FkaW5nIHRhc2tzLlxuICovXG5cbmltcG9ydCB0eXBlIHsgUGx1Z2luTWFuaWZlc3QgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCBkZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQge1xuICBBcHAsXG4gIE5vdGljZSxcbiAgUGx1Z2luLFxuICBQbHVnaW5TZXR0aW5nVGFiXG59IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUgeyBNYXliZVByb21pc2UgfSBmcm9tICcuLi8uLi9Bc3luYy50cyc7XG5pbXBvcnQgdHlwZSB7IEVtcHR5U2V0dGluZ3MgfSBmcm9tICcuL0VtcHR5U2V0dGluZ3MudHMnO1xuaW1wb3J0IHR5cGUgeyBQbHVnaW5TZXR0aW5nc0Jhc2UgfSBmcm9tICcuL1BsdWdpblNldHRpbmdzQmFzZS50cyc7XG5cbmltcG9ydCB7IGluaXREZWJ1Z0hlbHBlcnMgfSBmcm9tICcuLi8uLi9EZWJ1Zy50cyc7XG5pbXBvcnQgeyByZWdpc3RlckFzeW5jRXJyb3JFdmVudEhhbmRsZXIgfSBmcm9tICcuLi8uLi9FcnJvci50cyc7XG5pbXBvcnQgeyBub29wIH0gZnJvbSAnLi4vLi4vRnVuY3Rpb24udHMnO1xuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGNyZWF0aW5nIE9ic2lkaWFuIHBsdWdpbnMgd2l0aCBidWlsdC1pbiBzdXBwb3J0IGZvciBzZXR0aW5ncyBtYW5hZ2VtZW50LCBlcnJvciBoYW5kbGluZywgYW5kIG5vdGlmaWNhdGlvbnMuXG4gKlxuICogQHR5cGVQYXJhbSBQbHVnaW5TZXR0aW5ncyAtIFRoZSB0eXBlIHJlcHJlc2VudGluZyB0aGUgcGx1Z2luIHNldHRpbmdzIG9iamVjdC5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBsdWdpbkJhc2U8UGx1Z2luU2V0dGluZ3MgZXh0ZW5kcyBQbHVnaW5TZXR0aW5nc0Jhc2UgPSBFbXB0eVNldHRpbmdzPiBleHRlbmRzIFBsdWdpbiB7XG4gIC8qKlxuICAgKiBVc2UgaW5zdGVhZCBvZiBgY29uc29sZS5kZWJ1ZygpYCB0byBsb2cgbWVzc2FnZXMuXG4gICAqXG4gICAqIFRob3NlIG1lc3NhZ2VzIGFyZSBub3Qgc2hvd24gYnkgZGVmYXVsdCwgYnV0IGNhbiBiZSBzaG93biBieSBzZXR0aW5nIGB3aW5kb3cuREVCVUcuZW5hYmxlKCdwbHVnaW4taWQnKWAuXG4gICAqXG4gICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9kZWJ1Zy1qcy9kZWJ1Zz90YWI9cmVhZG1lLW92LWZpbGV9XG4gICAqXG4gICAqIEBwYXJhbSBtZXNzYWdlIC0gVGhlIG1lc3NhZ2UgdG8gbG9nLlxuICAgKiBAcGFyYW0gYXJncyAtIFRoZSBhcmd1bWVudHMgdG8gbG9nLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNvbnNvbGVEZWJ1ZzogKG1lc3NhZ2U6IHN0cmluZywgLi4uYXJnczogdW5rbm93bltdKSA9PiB2b2lkO1xuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBBYm9ydFNpZ25hbCB1c2VkIGZvciBhYm9ydGluZyBsb25nLXJ1bm5pbmcgb3BlcmF0aW9ucy5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIGFib3J0IHNpZ25hbC5cbiAgICovXG4gIHB1YmxpYyBnZXQgYWJvcnRTaWduYWwoKTogQWJvcnRTaWduYWwge1xuICAgIHJldHVybiB0aGlzLl9hYm9ydFNpZ25hbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGEgY29weSBvZiB0aGUgY3VycmVudCBwbHVnaW4gc2V0dGluZ3MuXG4gICAqXG4gICAqIEByZXR1cm5zIEEgY29weSBvZiB0aGUgcGx1Z2luIHNldHRpbmdzLlxuICAgKi9cbiAgcHVibGljIGdldCBzZXR0aW5nc0NvcHkoKTogUGx1Z2luU2V0dGluZ3Mge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZVBsdWdpblNldHRpbmdzKHRoaXMuc2V0dGluZ3MudG9KU09OKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHBsdWdpbiBzZXR0aW5ncy5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIHBsdWdpbiBzZXR0aW5ncy5cbiAgICovXG4gIHByb3RlY3RlZCBnZXQgc2V0dGluZ3MoKTogUGx1Z2luU2V0dGluZ3Mge1xuICAgIHJldHVybiB0aGlzLl9zZXR0aW5ncztcbiAgfVxuXG4gIHByaXZhdGUgX2Fib3J0U2lnbmFsITogQWJvcnRTaWduYWw7XG5cbiAgcHJpdmF0ZSBfc2V0dGluZ3MhOiBQbHVnaW5TZXR0aW5ncztcblxuICBwcml2YXRlIG5vdGljZT86IE5vdGljZTtcblxuICAvKipcbiAgICogQ29uc3RydWN0cyBhIG5ldyBQbHVnaW5CYXNlIGluc3RhbmNlLlxuICAgKlxuICAgKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAgICogQHBhcmFtIG1hbmlmZXN0IC0gVGhlIHBsdWdpbiBtYW5pZmVzdC5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihhcHA6IEFwcCwgbWFuaWZlc3Q6IFBsdWdpbk1hbmlmZXN0KSB7XG4gICAgc3VwZXIoYXBwLCBtYW5pZmVzdCk7XG4gICAgaW5pdERlYnVnSGVscGVycygpO1xuICAgIHRoaXMuY29uc29sZURlYnVnID0gZGVidWcuZGVmYXVsdChtYW5pZmVzdC5pZCk7XG4gICAgY29uc29sZS5kZWJ1ZyhgRGVidWcgbWVzc2FnZXMgZm9yIHBsdWdpbiAnJHttYW5pZmVzdC5uYW1lfScgYXJlIG5vdCBzaG93biBieSBkZWZhdWx0LiBTZXQgd2luZG93LkRFQlVHLmVuYWJsZSgnJHttYW5pZmVzdC5pZH0nKSB0byBzZWUgdGhlbS4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9kZWJ1Zy1qcy9kZWJ1Zz90YWI9cmVhZG1lLW92LWZpbGUgZm9yIG1vcmUgaW5mb3JtYXRpb25gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB0aGUgcGx1Z2luIGlzIGxvYWRlZFxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGFzeW5jIG9ubG9hZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLnJlZ2lzdGVyKHJlZ2lzdGVyQXN5bmNFcnJvckV2ZW50SGFuZGxlcigoKSA9PiB7XG4gICAgICB0aGlzLnNob3dOb3RpY2UoJ0FuIHVuaGFuZGxlZCBlcnJvciBvY2N1cnJlZC4gUGxlYXNlIGNoZWNrIHRoZSBjb25zb2xlIGZvciBtb3JlIGluZm9ybWF0aW9uLicpO1xuICAgIH0pKTtcblxuICAgIGF3YWl0IHRoaXMubG9hZFNldHRpbmdzKCk7XG4gICAgY29uc3QgcGx1Z2luU2V0dGluZ3NUYWIgPSB0aGlzLmNyZWF0ZVBsdWdpblNldHRpbmdzVGFiKCk7XG4gICAgaWYgKHBsdWdpblNldHRpbmdzVGFiKSB7XG4gICAgICB0aGlzLmFkZFNldHRpbmdUYWIocGx1Z2luU2V0dGluZ3NUYWIpO1xuICAgIH1cblxuICAgIGNvbnN0IGFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICB0aGlzLl9hYm9ydFNpZ25hbCA9IGFib3J0Q29udHJvbGxlci5zaWduYWw7XG4gICAgdGhpcy5yZWdpc3RlcigoKSA9PiB7XG4gICAgICBhYm9ydENvbnRyb2xsZXIuYWJvcnQoKTtcbiAgICB9KTtcbiAgICBhd2FpdCB0aGlzLm9ubG9hZENvbXBsZXRlKCk7XG4gICAgdGhpcy5hcHAud29ya3NwYWNlLm9uTGF5b3V0UmVhZHkodGhpcy5vbkxheW91dFJlYWR5LmJpbmQodGhpcykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNhdmVzIHRoZSBuZXcgcGx1Z2luIHNldHRpbmdzLlxuICAgKlxuICAgKiBAcGFyYW0gbmV3U2V0dGluZ3MgLSBUaGUgbmV3IHNldHRpbmdzIHRvIHNhdmUuXG4gICAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHNldHRpbmdzIGFyZSBzYXZlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzYXZlU2V0dGluZ3MobmV3U2V0dGluZ3M6IFBsdWdpblNldHRpbmdzKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QganNvbiA9IG5ld1NldHRpbmdzLnRvSlNPTigpO1xuICAgIHRoaXMuX3NldHRpbmdzID0gdGhpcy5jcmVhdGVQbHVnaW5TZXR0aW5ncyhqc29uKTtcbiAgICBhd2FpdCB0aGlzLnNhdmVEYXRhKGpzb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgdGhlIHBsdWdpbiBzZXR0aW5ncy4gVGhpcyBtZXRob2QgbXVzdCBiZSBpbXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzLlxuICAgKlxuICAgKiBAcGFyYW0gZGF0YSAtIFRoZSBkYXRhIHRvIGNyZWF0ZSB0aGUgcGx1Z2luIHNldHRpbmdzIGZyb20uXG4gICAqIEByZXR1cm5zIFRoZSBwbHVnaW4gc2V0dGluZ3MuXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgY3JlYXRlUGx1Z2luU2V0dGluZ3MoZGF0YTogdW5rbm93bik6IFBsdWdpblNldHRpbmdzO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgcGx1Z2luIHNldHRpbmdzIHRhYi4gVGhpcyBtZXRob2QgbXVzdCBiZSBpbXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgc2V0dGluZ3MgdGFiIG9yIG51bGwgaWYgbm90IGFwcGxpY2FibGUuXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgY3JlYXRlUGx1Z2luU2V0dGluZ3NUYWIoKTogbnVsbCB8IFBsdWdpblNldHRpbmdUYWI7XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBsYXlvdXQgaXMgcmVhZHkuIFRoaXMgbWV0aG9kIGNhbiBiZSBvdmVycmlkZGVuIGJ5IHN1YmNsYXNzZXMgdG8gcGVyZm9ybSBhY3Rpb25zIG9uY2VcbiAgICogdGhlIGxheW91dCBpcyByZWFkeS5cbiAgICpcbiAgICogQHJldHVybnMgQSBwcm9taXNlIG9yIHZvaWQgaW5kaWNhdGluZyB0aGUgY29tcGxldGlvbiBvZiB0aGUgbGF5b3V0IHNldHVwLlxuICAgKi9cbiAgcHJvdGVjdGVkIG9uTGF5b3V0UmVhZHkoKTogTWF5YmVQcm9taXNlPHZvaWQ+IHtcbiAgICBub29wKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIHBsdWdpbiBsb2FkaW5nIGlzIGNvbXBsZXRlLiBUaGlzIG1ldGhvZCBtdXN0IGJlIGltcGxlbWVudGVkIGJ5IHN1YmNsYXNzZXMgdG8gcGVyZm9ybVxuICAgKiBhbnkgYWRkaXRpb25hbCBzZXR1cCByZXF1aXJlZCBhZnRlciBsb2FkaW5nIGlzIGNvbXBsZXRlLlxuICAgKlxuICAgKiBAcmV0dXJucyBBIHByb21pc2Ugb3Igdm9pZCBpbmRpY2F0aW5nIHRoZSBjb21wbGV0aW9uIG9mIHRoZSBsb2FkIHByb2Nlc3MuXG4gICAqL1xuICBwcm90ZWN0ZWQgb25sb2FkQ29tcGxldGUoKTogTWF5YmVQcm9taXNlPHZvaWQ+IHtcbiAgICBub29wKCk7XG4gIH1cblxuICAvKipcbiAgICogRGlzcGxheXMgYSBub3RpY2UgbWVzc2FnZSB0byB0aGUgdXNlci5cbiAgICpcbiAgICogQHBhcmFtIG1lc3NhZ2UgLSBUaGUgbWVzc2FnZSB0byBkaXNwbGF5LlxuICAgKi9cbiAgcHJvdGVjdGVkIHNob3dOb3RpY2UobWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubm90aWNlKSB7XG4gICAgICB0aGlzLm5vdGljZS5oaWRlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5ub3RpY2UgPSBuZXcgTm90aWNlKGAke3RoaXMubWFuaWZlc3QubmFtZX1cXG4ke21lc3NhZ2V9YCk7XG4gIH1cblxuICAvKipcbiAgICogTG9hZHMgdGhlIHBsdWdpbiBzZXR0aW5ncyBmcm9tIHRoZSBzYXZlZCBkYXRhLlxuICAgKlxuICAgKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBzZXR0aW5ncyBhcmUgbG9hZGVkLlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBsb2FkU2V0dGluZ3MoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMubG9hZERhdGEoKSBhcyB1bmtub3duO1xuICAgIHRoaXMuX3NldHRpbmdzID0gdGhpcy5jcmVhdGVQbHVnaW5TZXR0aW5ncyhkYXRhKTtcbiAgICBpZiAodGhpcy5fc2V0dGluZ3Muc2hvdWxkU2F2ZUFmdGVyTG9hZCgpKSB7XG4gICAgICBhd2FpdCB0aGlzLnNhdmVTZXR0aW5ncyh0aGlzLl9zZXR0aW5ncyk7XG4gICAgfVxuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtB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
183
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BsdWdpbi9QbHVnaW5CYXNlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1sncHJvY2VzcyddID8/IHtcbiAgXCJicm93c2VyXCI6IHRydWUsXG4gIFwiY3dkXCI6ICgpPT5cIi9cIixcbiAgXCJlbnZcIjoge30sXG4gIFwicGxhdGZvcm1cIjogXCJhbmRyb2lkXCJcbn07XG4vKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBQbHVnaW5CYXNlXG4gKiBCYXNlIGNsYXNzIGZvciBPYnNpZGlhbiBwbHVnaW5zIHByb3ZpZGluZyB1dGlsaXR5IG1ldGhvZHMgZm9yIHNldHRpbmdzIG1hbmFnZW1lbnQsIGVycm9yIGhhbmRsaW5nLCBhbmQgbm90aWZpY2F0aW9ucy5cbiAqXG4gKiBUaGlzIGNsYXNzIHNpbXBsaWZpZXMgdGhlIHByb2Nlc3Mgb2YgbWFuYWdpbmcgcGx1Z2luIHNldHRpbmdzLCBkaXNwbGF5aW5nIG5vdGlmaWNhdGlvbnMsIGFuZCBoYW5kbGluZyBlcnJvcnMuXG4gKiBTdWJjbGFzc2VzIHNob3VsZCBpbXBsZW1lbnQgbWV0aG9kcyB0byBjcmVhdGUgZGVmYXVsdCBzZXR0aW5ncyBhbmQgc2V0dGluZ3MgdGFicywgYW5kIGNvbXBsZXRlIHBsdWdpbi1zcGVjaWZpY1xuICogbG9hZGluZyB0YXNrcy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpbk1hbmlmZXN0IH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IHtcbiAgQXBwLFxuICBOb3RpY2UsXG4gIFBsdWdpbixcbiAgUGx1Z2luU2V0dGluZ1RhYlxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgTWF5YmVQcm9taXNlIH0gZnJvbSAnLi4vLi4vQXN5bmMudHMnO1xuaW1wb3J0IHR5cGUgeyBFbXB0eVNldHRpbmdzIH0gZnJvbSAnLi9FbXB0eVNldHRpbmdzLnRzJztcbmltcG9ydCB0eXBlIHsgUGx1Z2luU2V0dGluZ3NCYXNlIH0gZnJvbSAnLi9QbHVnaW5TZXR0aW5nc0Jhc2UudHMnO1xuXG5pbXBvcnQgeyBpbml0RGVidWdIZWxwZXJzIH0gZnJvbSAnLi4vLi4vRGVidWcudHMnO1xuaW1wb3J0IHsgcmVnaXN0ZXJBc3luY0Vycm9yRXZlbnRIYW5kbGVyIH0gZnJvbSAnLi4vLi4vRXJyb3IudHMnO1xuaW1wb3J0IHsgbm9vcCB9IGZyb20gJy4uLy4uL0Z1bmN0aW9uLnRzJztcblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBjcmVhdGluZyBPYnNpZGlhbiBwbHVnaW5zIHdpdGggYnVpbHQtaW4gc3VwcG9ydCBmb3Igc2V0dGluZ3MgbWFuYWdlbWVudCwgZXJyb3IgaGFuZGxpbmcsIGFuZCBub3RpZmljYXRpb25zLlxuICpcbiAqIEB0eXBlUGFyYW0gUGx1Z2luU2V0dGluZ3MgLSBUaGUgdHlwZSByZXByZXNlbnRpbmcgdGhlIHBsdWdpbiBzZXR0aW5ncyBvYmplY3QuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQbHVnaW5CYXNlPFBsdWdpblNldHRpbmdzIGV4dGVuZHMgUGx1Z2luU2V0dGluZ3NCYXNlID0gRW1wdHlTZXR0aW5ncz4gZXh0ZW5kcyBQbHVnaW4ge1xuICAvKipcbiAgICogVXNlIGluc3RlYWQgb2YgYGNvbnNvbGUuZGVidWcoKWAgdG8gbG9nIG1lc3NhZ2VzLlxuICAgKlxuICAgKiBUaG9zZSBtZXNzYWdlcyBhcmUgbm90IHNob3duIGJ5IGRlZmF1bHQsIGJ1dCBjYW4gYmUgc2hvd24gYnkgc2V0dGluZyBgd2luZG93LkRFQlVHLmVuYWJsZSgncGx1Z2luLWlkJylgLlxuICAgKlxuICAgKiBAc2VlIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vZGVidWctanMvZGVidWc/dGFiPXJlYWRtZS1vdi1maWxlfVxuICAgKlxuICAgKiBAcGFyYW0gbWVzc2FnZSAtIFRoZSBtZXNzYWdlIHRvIGxvZy5cbiAgICogQHBhcmFtIGFyZ3MgLSBUaGUgYXJndW1lbnRzIHRvIGxvZy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjb25zb2xlRGVidWc6IChtZXNzYWdlOiBzdHJpbmcsIC4uLmFyZ3M6IHVua25vd25bXSkgPT4gdm9pZDtcblxuICAvKipcbiAgICogR2V0cyB0aGUgQWJvcnRTaWduYWwgdXNlZCBmb3IgYWJvcnRpbmcgbG9uZy1ydW5uaW5nIG9wZXJhdGlvbnMuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBhYm9ydCBzaWduYWwuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGFib3J0U2lnbmFsKCk6IEFib3J0U2lnbmFsIHtcbiAgICByZXR1cm4gdGhpcy5fYWJvcnRTaWduYWw7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhIGNvcHkgb2YgdGhlIGN1cnJlbnQgcGx1Z2luIHNldHRpbmdzLlxuICAgKlxuICAgKiBAcmV0dXJucyBBIGNvcHkgb2YgdGhlIHBsdWdpbiBzZXR0aW5ncy5cbiAgICovXG4gIHB1YmxpYyBnZXQgc2V0dGluZ3NDb3B5KCk6IFBsdWdpblNldHRpbmdzIHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGVQbHVnaW5TZXR0aW5ncyh0aGlzLnNldHRpbmdzLnRvSlNPTigpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBwbHVnaW4gc2V0dGluZ3MuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBwbHVnaW4gc2V0dGluZ3MuXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0IHNldHRpbmdzKCk6IFBsdWdpblNldHRpbmdzIHtcbiAgICByZXR1cm4gdGhpcy5fc2V0dGluZ3M7XG4gIH1cblxuICBwcml2YXRlIF9hYm9ydFNpZ25hbCE6IEFib3J0U2lnbmFsO1xuXG4gIHByaXZhdGUgX3NldHRpbmdzITogUGx1Z2luU2V0dGluZ3M7XG5cbiAgcHJpdmF0ZSBub3RpY2U/OiBOb3RpY2U7XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdHMgYSBuZXcgUGx1Z2luQmFzZSBpbnN0YW5jZS5cbiAgICpcbiAgICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqIEBwYXJhbSBtYW5pZmVzdCAtIFRoZSBwbHVnaW4gbWFuaWZlc3QuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IoYXBwOiBBcHAsIG1hbmlmZXN0OiBQbHVnaW5NYW5pZmVzdCkge1xuICAgIHN1cGVyKGFwcCwgbWFuaWZlc3QpO1xuICAgIGluaXREZWJ1Z0hlbHBlcnMoKTtcbiAgICB0aGlzLmNvbnNvbGVEZWJ1ZyA9IGRlYnVnLmRlZmF1bHQobWFuaWZlc3QuaWQpO1xuICAgIGNvbnNvbGUuZGVidWcoYERlYnVnIG1lc3NhZ2VzIGZvciBwbHVnaW4gJyR7bWFuaWZlc3QubmFtZX0nIGFyZSBub3Qgc2hvd24gYnkgZGVmYXVsdC4gU2V0IHdpbmRvdy5ERUJVRy5lbmFibGUoJyR7bWFuaWZlc3QuaWR9JykgdG8gc2VlIHRoZW0uIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZGVidWctanMvZGVidWc/dGFiPXJlYWRtZS1vdi1maWxlIGZvciBtb3JlIGluZm9ybWF0aW9uYCk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIHBsdWdpbiBpcyBsb2FkZWRcbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBvbmxvYWQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5yZWdpc3RlcihyZWdpc3RlckFzeW5jRXJyb3JFdmVudEhhbmRsZXIoKCkgPT4ge1xuICAgICAgdGhpcy5zaG93Tm90aWNlKCdBbiB1bmhhbmRsZWQgZXJyb3Igb2NjdXJyZWQuIFBsZWFzZSBjaGVjayB0aGUgY29uc29sZSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nKTtcbiAgICB9KSk7XG5cbiAgICBhd2FpdCB0aGlzLmxvYWRTZXR0aW5ncygpO1xuICAgIGNvbnN0IHBsdWdpblNldHRpbmdzVGFiID0gdGhpcy5jcmVhdGVQbHVnaW5TZXR0aW5nc1RhYigpO1xuICAgIGlmIChwbHVnaW5TZXR0aW5nc1RhYikge1xuICAgICAgdGhpcy5hZGRTZXR0aW5nVGFiKHBsdWdpblNldHRpbmdzVGFiKTtcbiAgICB9XG5cbiAgICBjb25zdCBhYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgdGhpcy5fYWJvcnRTaWduYWwgPSBhYm9ydENvbnRyb2xsZXIuc2lnbmFsO1xuICAgIHRoaXMucmVnaXN0ZXIoKCkgPT4ge1xuICAgICAgYWJvcnRDb250cm9sbGVyLmFib3J0KCk7XG4gICAgfSk7XG4gICAgYXdhaXQgdGhpcy5vbmxvYWRDb21wbGV0ZSgpO1xuICAgIHRoaXMuYXBwLndvcmtzcGFjZS5vbkxheW91dFJlYWR5KHRoaXMub25MYXlvdXRSZWFkeS5iaW5kKHRoaXMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTYXZlcyB0aGUgbmV3IHBsdWdpbiBzZXR0aW5ncy5cbiAgICpcbiAgICogQHBhcmFtIG5ld1NldHRpbmdzIC0gVGhlIG5ldyBzZXR0aW5ncyB0byBzYXZlLlxuICAgKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBzZXR0aW5ncyBhcmUgc2F2ZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2F2ZVNldHRpbmdzKG5ld1NldHRpbmdzOiBQbHVnaW5TZXR0aW5ncyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGpzb24gPSBuZXdTZXR0aW5ncy50b0pTT04oKTtcbiAgICB0aGlzLl9zZXR0aW5ncyA9IHRoaXMuY3JlYXRlUGx1Z2luU2V0dGluZ3MoanNvbik7XG4gICAgYXdhaXQgdGhpcy5zYXZlRGF0YShqc29uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIHRoZSBwbHVnaW4gc2V0dGluZ3MuIFRoaXMgbWV0aG9kIG11c3QgYmUgaW1wbGVtZW50ZWQgYnkgc3ViY2xhc3Nlcy5cbiAgICpcbiAgICogQHBhcmFtIGRhdGEgLSBUaGUgZGF0YSB0byBjcmVhdGUgdGhlIHBsdWdpbiBzZXR0aW5ncyBmcm9tLlxuICAgKiBAcmV0dXJucyBUaGUgcGx1Z2luIHNldHRpbmdzLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGNyZWF0ZVBsdWdpblNldHRpbmdzKGRhdGE6IHVua25vd24pOiBQbHVnaW5TZXR0aW5ncztcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHBsdWdpbiBzZXR0aW5ncyB0YWIuIFRoaXMgbWV0aG9kIG11c3QgYmUgaW1wbGVtZW50ZWQgYnkgc3ViY2xhc3Nlcy5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIHNldHRpbmdzIHRhYiBvciBudWxsIGlmIG5vdCBhcHBsaWNhYmxlLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGNyZWF0ZVBsdWdpblNldHRpbmdzVGFiKCk6IG51bGwgfCBQbHVnaW5TZXR0aW5nVGFiO1xuXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB0aGUgbGF5b3V0IGlzIHJlYWR5LiBUaGlzIG1ldGhvZCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBzdWJjbGFzc2VzIHRvIHBlcmZvcm0gYWN0aW9ucyBvbmNlXG4gICAqIHRoZSBsYXlvdXQgaXMgcmVhZHkuXG4gICAqXG4gICAqIEByZXR1cm5zIEEgcHJvbWlzZSBvciB2b2lkIGluZGljYXRpbmcgdGhlIGNvbXBsZXRpb24gb2YgdGhlIGxheW91dCBzZXR1cC5cbiAgICovXG4gIHByb3RlY3RlZCBvbkxheW91dFJlYWR5KCk6IE1heWJlUHJvbWlzZTx2b2lkPiB7XG4gICAgbm9vcCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBwbHVnaW4gbG9hZGluZyBpcyBjb21wbGV0ZS4gVGhpcyBtZXRob2QgbXVzdCBiZSBpbXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzIHRvIHBlcmZvcm1cbiAgICogYW55IGFkZGl0aW9uYWwgc2V0dXAgcmVxdWlyZWQgYWZ0ZXIgbG9hZGluZyBpcyBjb21wbGV0ZS5cbiAgICpcbiAgICogQHJldHVybnMgQSBwcm9taXNlIG9yIHZvaWQgaW5kaWNhdGluZyB0aGUgY29tcGxldGlvbiBvZiB0aGUgbG9hZCBwcm9jZXNzLlxuICAgKi9cbiAgcHJvdGVjdGVkIG9ubG9hZENvbXBsZXRlKCk6IE1heWJlUHJvbWlzZTx2b2lkPiB7XG4gICAgbm9vcCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc3BsYXlzIGEgbm90aWNlIG1lc3NhZ2UgdG8gdGhlIHVzZXIuXG4gICAqXG4gICAqIEBwYXJhbSBtZXNzYWdlIC0gVGhlIG1lc3NhZ2UgdG8gZGlzcGxheS5cbiAgICovXG4gIHByb3RlY3RlZCBzaG93Tm90aWNlKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLm5vdGljZSkge1xuICAgICAgdGhpcy5ub3RpY2UuaGlkZSgpO1xuICAgIH1cblxuICAgIHRoaXMubm90aWNlID0gbmV3IE5vdGljZShgJHt0aGlzLm1hbmlmZXN0Lm5hbWV9XFxuJHttZXNzYWdlfWApO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWRzIHRoZSBwbHVnaW4gc2V0dGluZ3MgZnJvbSB0aGUgc2F2ZWQgZGF0YS5cbiAgICpcbiAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgc2V0dGluZ3MgYXJlIGxvYWRlZC5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgbG9hZFNldHRpbmdzKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmxvYWREYXRhKCkgYXMgdW5rbm93bjtcbiAgICB0aGlzLl9zZXR0aW5ncyA9IHRoaXMuY3JlYXRlUGx1Z2luU2V0dGluZ3MoZGF0YSk7XG4gICAgaWYgKHRoaXMuX3NldHRpbmdzLnNob3VsZFNhdmVBZnRlckxvYWQoKSkge1xuICAgICAgYXdhaXQgdGhpcy5zYXZlU2V0dGluZ3ModGhpcy5fc2V0dGluZ3MpO1xuICAgIH1cbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFpQkEsbUJB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
@@ -39,7 +39,7 @@ var import_App = require('./App.cjs');
39
39
  var import_Logger = require('./Logger.cjs');
40
40
  var __process = globalThis["process"] ?? {
41
41
  "browser": true,
42
- "cwd": "[[Function0]]",
42
+ "cwd": () => "/",
43
43
  "env": {},
44
44
  "platform": "android"
45
45
  };
@@ -77,4 +77,4 @@ async function processNextQueueItem(app) {
77
77
  addToQueueAndWait,
78
78
  flushQueue
79
79
  });
80
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL1F1ZXVlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1sncHJvY2VzcyddID8/IHtcbiAgXCJicm93c2VyXCI6IHRydWUsXG4gIFwiY3dkXCI6IFwiW1tGdW5jdGlvbjBdXVwiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIFF1ZXVlXG4gKiBDb250YWlucyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgZW5xdWV1aW5nIGFuZCBwcm9jZXNzaW5nIGZ1bmN0aW9ucyBpbiBPYnNpZGlhbi5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUgeyBNYXliZVByb21pc2UgfSBmcm9tICcuLi9Bc3luYy50cyc7XG5pbXBvcnQgdHlwZSB7IFZhbHVlV3JhcHBlciB9IGZyb20gJy4vQXBwLnRzJztcblxuaW1wb3J0IHtcbiAgYWRkRXJyb3JIYW5kbGVyLFxuICBydW5XaXRoVGltZW91dFxufSBmcm9tICcuLi9Bc3luYy50cyc7XG5pbXBvcnQgeyBnZXRTdGFja1RyYWNlIH0gZnJvbSAnLi4vRXJyb3IudHMnO1xuaW1wb3J0IHsgbm9vcCB9IGZyb20gJy4uL0Z1bmN0aW9uLnRzJztcbmltcG9ydCB7IGdldE9ic2lkaWFuRGV2VXRpbHNTdGF0ZSB9IGZyb20gJy4vQXBwLnRzJztcbmltcG9ydCB7IGludm9rZUFzeW5jQW5kTG9nIH0gZnJvbSAnLi9Mb2dnZXIudHMnO1xuXG5pbnRlcmZhY2UgUXVldWUge1xuICBpdGVtczogUXVldWVJdGVtW107XG4gIHByb21pc2U6IFByb21pc2U8dm9pZD47XG59XG5cbmludGVyZmFjZSBRdWV1ZUl0ZW0ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWludmFsaWQtdm9pZC10eXBlXG4gIGZuKHRoaXM6IHZvaWQpOiBNYXliZVByb21pc2U8dm9pZD47XG4gIHN0YWNrVHJhY2U6IHN0cmluZztcbiAgdGltZW91dEluTWlsbGlzZWNvbmRzOiBudW1iZXI7XG59XG5cbi8qKlxuICogQWRkcyBhbiBhc3luY2hyb25vdXMgZnVuY3Rpb24gdG8gYmUgZXhlY3V0ZWQgYWZ0ZXIgdGhlIHByZXZpb3VzIGZ1bmN0aW9uIGNvbXBsZXRlcy5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIGZuIC0gVGhlIGZ1bmN0aW9uIHRvIGFkZC5cbiAqIEBwYXJhbSB0aW1lb3V0SW5NaWxsaXNlY29uZHMgLSBUaGUgdGltZW91dCBpbiBtaWxsaXNlY29uZHMuXG4gKiBAcGFyYW0gc3RhY2tUcmFjZSAtIE9wdGlvbmFsIHN0YWNrIHRyYWNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkVG9RdWV1ZShhcHA6IEFwcCwgZm46ICgpID0+IE1heWJlUHJvbWlzZTx2b2lkPiwgdGltZW91dEluTWlsbGlzZWNvbmRzPzogbnVtYmVyLCBzdGFja1RyYWNlPzogc3RyaW5nKTogdm9pZCB7XG4gIHN0YWNrVHJhY2UgPz89IGdldFN0YWNrVHJhY2UoMSk7XG4gIHZvaWQgYWRkVG9RdWV1ZUFuZFdhaXQoYXBwLCBmbiwgdGltZW91dEluTWlsbGlzZWNvbmRzLCBzdGFja1RyYWNlKTtcbn1cblxuLyoqXG4gKiBBZGRzIGFuIGFzeW5jaHJvbm91cyBmdW5jdGlvbiB0byBiZSBleGVjdXRlZCBhZnRlciB0aGUgcHJldmlvdXMgZnVuY3Rpb24gY29tcGxldGVzIGFuZCByZXR1cm5zIGEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGZ1bmN0aW9uIGNvbXBsZXRlcy5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIGZuIC0gVGhlIGZ1bmN0aW9uIHRvIGFkZC5cbiAqIEBwYXJhbSB0aW1lb3V0SW5NaWxsaXNlY29uZHMgLSBUaGUgdGltZW91dCBpbiBtaWxsaXNlY29uZHMuXG4gKiBAcGFyYW0gc3RhY2tUcmFjZSAtIE9wdGlvbmFsIHN0YWNrIHRyYWNlLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYWRkVG9RdWV1ZUFuZFdhaXQoYXBwOiBBcHAsIGZuOiAoKSA9PiBNYXliZVByb21pc2U8dm9pZD4sIHRpbWVvdXRJbk1pbGxpc2Vjb25kcz86IG51bWJlciwgc3RhY2tUcmFjZT86IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBERUZBVUxUX1RJTUVPVVRfSU5fTUlMTElTRUNPTkRTID0gNjAwMDA7XG4gIHRpbWVvdXRJbk1pbGxpc2Vjb25kcyA/Pz0gREVGQVVMVF9USU1FT1VUX0lOX01JTExJU0VDT05EUztcbiAgc3RhY2tUcmFjZSA/Pz0gZ2V0U3RhY2tUcmFjZSgxKTtcbiAgY29uc3QgcXVldWUgPSBnZXRRdWV1ZShhcHApLnZhbHVlO1xuICBxdWV1ZS5pdGVtcy5wdXNoKHsgZm4sIHN0YWNrVHJhY2UsIHRpbWVvdXRJbk1pbGxpc2Vjb25kcyB9KTtcbiAgcXVldWUucHJvbWlzZSA9IHF1ZXVlLnByb21pc2UudGhlbigoKSA9PiBwcm9jZXNzTmV4dFF1ZXVlSXRlbShhcHApKTtcbiAgYXdhaXQgcXVldWUucHJvbWlzZTtcbn1cblxuLyoqXG4gKiBGbHVzaGVzIHRoZSBxdWV1ZTtcbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZmx1c2hRdWV1ZShhcHA6IEFwcCk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBhZGRUb1F1ZXVlQW5kV2FpdChhcHAsIG5vb3ApO1xufVxuXG5mdW5jdGlvbiBnZXRRdWV1ZShhcHA6IEFwcCk6IFZhbHVlV3JhcHBlcjxRdWV1ZT4ge1xuICByZXR1cm4gZ2V0T2JzaWRpYW5EZXZVdGlsc1N0YXRlKGFwcCwgJ3F1ZXVlJywgeyBpdGVtczogW10sIHByb21pc2U6IFByb21pc2UucmVzb2x2ZSgpIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBwcm9jZXNzTmV4dFF1ZXVlSXRlbShhcHA6IEFwcCk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBxdWV1ZSA9IGdldFF1ZXVlKGFwcCkudmFsdWU7XG4gIGNvbnN0IGl0ZW0gPSBxdWV1ZS5pdGVtc1swXTtcbiAgaWYgKCFpdGVtKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgYXdhaXQgYWRkRXJyb3JIYW5kbGVyKCgpID0+IHJ1bldpdGhUaW1lb3V0KGl0ZW0udGltZW91dEluTWlsbGlzZWNvbmRzLCAoKSA9PiBpbnZva2VBc3luY0FuZExvZyhwcm9jZXNzTmV4dFF1ZXVlSXRlbS5uYW1lLCBpdGVtLmZuLCBpdGVtLnN0YWNrVHJhY2UpKSk7XG4gIHF1ZXVlLml0ZW1zLnNoaWZ0KCk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWdCQSxtQkFHTztBQUNQLG1CQUE4QjtBQUM5QixzQkFBcUI7QUFDckIsaUJBQXlDO0FBQ3pDLG9CQUFrQztBQXZCbEMsSUFBSSxZQUFZLFdBQVcsU0FBUyxLQUFLO0FBQUEsRUFDdkMsV0FBVztBQUFBLEVBQ1gsT0FBTztBQUFBLEVBQ1AsT0FBTyxDQUFDO0FBQUEsRUFDUixZQUFZO0FBQ2Q7QUF3Q08sU0FBUyxXQUFXLEtBQVUsSUFBOEIsdUJBQWdDLFlBQTJCO0FBQzVILHFCQUFlLDRCQUFjLENBQUM7QUFDOUIsT0FBSyxrQkFBa0IsS0FBSyxJQUFJLHVCQUF1QixVQUFVO0FBQ25FO0FBVUEsZUFBc0Isa0JBQWtCLEtBQVUsSUFBOEIsdUJBQWdDLFlBQW9DO0FBQ2xKLFFBQU0sa0NBQWtDO0FBQ3hDLDRCQUEwQjtBQUMxQixxQkFBZSw0QkFBYyxDQUFDO0FBQzlCLFFBQU0sUUFBUSxTQUFTLEdBQUcsRUFBRTtBQUM1QixRQUFNLE1BQU0sS0FBSyxFQUFFLElBQUksWUFBWSxzQkFBc0IsQ0FBQztBQUMxRCxRQUFNLFVBQVUsTUFBTSxRQUFRLEtBQUssTUFBTSxxQkFBcUIsR0FBRyxDQUFDO0FBQ2xFLFFBQU0sTUFBTTtBQUNkO0FBT0EsZUFBc0IsV0FBVyxLQUF5QjtBQUN4RCxRQUFNLGtCQUFrQixLQUFLLG9CQUFJO0FBQ25DO0FBRUEsU0FBUyxTQUFTLEtBQStCO0FBQy9DLGFBQU8scUNBQXlCLEtBQUssU0FBUyxFQUFFLE9BQU8sQ0FBQyxHQUFHLFNBQVMsUUFBUSxRQUFRLEVBQUUsQ0FBQztBQUN6RjtBQUVBLGVBQWUscUJBQXFCLEtBQXlCO0FBQzNELFFBQU0sUUFBUSxTQUFTLEdBQUcsRUFBRTtBQUM1QixRQUFNLE9BQU8sTUFBTSxNQUFNLENBQUM7QUFDMUIsTUFBSSxDQUFDLE1BQU07QUFDVDtBQUFBLEVBQ0Y7QUFFQSxZQUFNLDhCQUFnQixVQUFNLDZCQUFlLEtBQUssdUJBQXVCLFVBQU0saUNBQWtCLHFCQUFxQixNQUFNLEtBQUssSUFBSSxLQUFLLFVBQVUsQ0FBQyxDQUFDO0FBQ3BKLFFBQU0sTUFBTSxNQUFNO0FBQ3BCOyIsCiAgIm5hbWVzIjogW10KfQo=
80
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL1F1ZXVlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1sncHJvY2VzcyddID8/IHtcbiAgXCJicm93c2VyXCI6IHRydWUsXG4gIFwiY3dkXCI6ICgpPT5cIi9cIixcbiAgXCJlbnZcIjoge30sXG4gIFwicGxhdGZvcm1cIjogXCJhbmRyb2lkXCJcbn07XG4vKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBRdWV1ZVxuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGVucXVldWluZyBhbmQgcHJvY2Vzc2luZyBmdW5jdGlvbnMgaW4gT2JzaWRpYW4uXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgTWF5YmVQcm9taXNlIH0gZnJvbSAnLi4vQXN5bmMudHMnO1xuaW1wb3J0IHR5cGUgeyBWYWx1ZVdyYXBwZXIgfSBmcm9tICcuL0FwcC50cyc7XG5cbmltcG9ydCB7XG4gIGFkZEVycm9ySGFuZGxlcixcbiAgcnVuV2l0aFRpbWVvdXRcbn0gZnJvbSAnLi4vQXN5bmMudHMnO1xuaW1wb3J0IHsgZ2V0U3RhY2tUcmFjZSB9IGZyb20gJy4uL0Vycm9yLnRzJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuLi9GdW5jdGlvbi50cyc7XG5pbXBvcnQgeyBnZXRPYnNpZGlhbkRldlV0aWxzU3RhdGUgfSBmcm9tICcuL0FwcC50cyc7XG5pbXBvcnQgeyBpbnZva2VBc3luY0FuZExvZyB9IGZyb20gJy4vTG9nZ2VyLnRzJztcblxuaW50ZXJmYWNlIFF1ZXVlIHtcbiAgaXRlbXM6IFF1ZXVlSXRlbVtdO1xuICBwcm9taXNlOiBQcm9taXNlPHZvaWQ+O1xufVxuXG5pbnRlcmZhY2UgUXVldWVJdGVtIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1pbnZhbGlkLXZvaWQtdHlwZVxuICBmbih0aGlzOiB2b2lkKTogTWF5YmVQcm9taXNlPHZvaWQ+O1xuICBzdGFja1RyYWNlOiBzdHJpbmc7XG4gIHRpbWVvdXRJbk1pbGxpc2Vjb25kczogbnVtYmVyO1xufVxuXG4vKipcbiAqIEFkZHMgYW4gYXN5bmNocm9ub3VzIGZ1bmN0aW9uIHRvIGJlIGV4ZWN1dGVkIGFmdGVyIHRoZSBwcmV2aW91cyBmdW5jdGlvbiBjb21wbGV0ZXMuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBmbiAtIFRoZSBmdW5jdGlvbiB0byBhZGQuXG4gKiBAcGFyYW0gdGltZW91dEluTWlsbGlzZWNvbmRzIC0gVGhlIHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzLlxuICogQHBhcmFtIHN0YWNrVHJhY2UgLSBPcHRpb25hbCBzdGFjayB0cmFjZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZFRvUXVldWUoYXBwOiBBcHAsIGZuOiAoKSA9PiBNYXliZVByb21pc2U8dm9pZD4sIHRpbWVvdXRJbk1pbGxpc2Vjb25kcz86IG51bWJlciwgc3RhY2tUcmFjZT86IHN0cmluZyk6IHZvaWQge1xuICBzdGFja1RyYWNlID8/PSBnZXRTdGFja1RyYWNlKDEpO1xuICB2b2lkIGFkZFRvUXVldWVBbmRXYWl0KGFwcCwgZm4sIHRpbWVvdXRJbk1pbGxpc2Vjb25kcywgc3RhY2tUcmFjZSk7XG59XG5cbi8qKlxuICogQWRkcyBhbiBhc3luY2hyb25vdXMgZnVuY3Rpb24gdG8gYmUgZXhlY3V0ZWQgYWZ0ZXIgdGhlIHByZXZpb3VzIGZ1bmN0aW9uIGNvbXBsZXRlcyBhbmQgcmV0dXJucyBhIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmdW5jdGlvbiBjb21wbGV0ZXMuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBmbiAtIFRoZSBmdW5jdGlvbiB0byBhZGQuXG4gKiBAcGFyYW0gdGltZW91dEluTWlsbGlzZWNvbmRzIC0gVGhlIHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzLlxuICogQHBhcmFtIHN0YWNrVHJhY2UgLSBPcHRpb25hbCBzdGFjayB0cmFjZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFkZFRvUXVldWVBbmRXYWl0KGFwcDogQXBwLCBmbjogKCkgPT4gTWF5YmVQcm9taXNlPHZvaWQ+LCB0aW1lb3V0SW5NaWxsaXNlY29uZHM/OiBudW1iZXIsIHN0YWNrVHJhY2U/OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgREVGQVVMVF9USU1FT1VUX0lOX01JTExJU0VDT05EUyA9IDYwMDAwO1xuICB0aW1lb3V0SW5NaWxsaXNlY29uZHMgPz89IERFRkFVTFRfVElNRU9VVF9JTl9NSUxMSVNFQ09ORFM7XG4gIHN0YWNrVHJhY2UgPz89IGdldFN0YWNrVHJhY2UoMSk7XG4gIGNvbnN0IHF1ZXVlID0gZ2V0UXVldWUoYXBwKS52YWx1ZTtcbiAgcXVldWUuaXRlbXMucHVzaCh7IGZuLCBzdGFja1RyYWNlLCB0aW1lb3V0SW5NaWxsaXNlY29uZHMgfSk7XG4gIHF1ZXVlLnByb21pc2UgPSBxdWV1ZS5wcm9taXNlLnRoZW4oKCkgPT4gcHJvY2Vzc05leHRRdWV1ZUl0ZW0oYXBwKSk7XG4gIGF3YWl0IHF1ZXVlLnByb21pc2U7XG59XG5cbi8qKlxuICogRmx1c2hlcyB0aGUgcXVldWU7XG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZsdXNoUXVldWUoYXBwOiBBcHApOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgYWRkVG9RdWV1ZUFuZFdhaXQoYXBwLCBub29wKTtcbn1cblxuZnVuY3Rpb24gZ2V0UXVldWUoYXBwOiBBcHApOiBWYWx1ZVdyYXBwZXI8UXVldWU+IHtcbiAgcmV0dXJuIGdldE9ic2lkaWFuRGV2VXRpbHNTdGF0ZShhcHAsICdxdWV1ZScsIHsgaXRlbXM6IFtdLCBwcm9taXNlOiBQcm9taXNlLnJlc29sdmUoKSB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gcHJvY2Vzc05leHRRdWV1ZUl0ZW0oYXBwOiBBcHApOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgcXVldWUgPSBnZXRRdWV1ZShhcHApLnZhbHVlO1xuICBjb25zdCBpdGVtID0gcXVldWUuaXRlbXNbMF07XG4gIGlmICghaXRlbSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGF3YWl0IGFkZEVycm9ySGFuZGxlcigoKSA9PiBydW5XaXRoVGltZW91dChpdGVtLnRpbWVvdXRJbk1pbGxpc2Vjb25kcywgKCkgPT4gaW52b2tlQXN5bmNBbmRMb2cocHJvY2Vzc05leHRRdWV1ZUl0ZW0ubmFtZSwgaXRlbS5mbiwgaXRlbS5zdGFja1RyYWNlKSkpO1xuICBxdWV1ZS5pdGVtcy5zaGlmdCgpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFnQkEsbUJBR087QUFDUCxtQkFBOEI7QUFDOUIsc0JBQXFCO0FBQ3JCLGlCQUF5QztBQUN6QyxvQkFBa0M7QUF2QmxDLElBQUksWUFBWSxXQUFXLFNBQVMsS0FBSztBQUFBLEVBQ3ZDLFdBQVc7QUFBQSxFQUNYLE9BQU8sTUFBSTtBQUFBLEVBQ1gsT0FBTyxDQUFDO0FBQUEsRUFDUixZQUFZO0FBQ2Q7QUF3Q08sU0FBUyxXQUFXLEtBQVUsSUFBOEIsdUJBQWdDLFlBQTJCO0FBQzVILHFCQUFlLDRCQUFjLENBQUM7QUFDOUIsT0FBSyxrQkFBa0IsS0FBSyxJQUFJLHVCQUF1QixVQUFVO0FBQ25FO0FBVUEsZUFBc0Isa0JBQWtCLEtBQVUsSUFBOEIsdUJBQWdDLFlBQW9DO0FBQ2xKLFFBQU0sa0NBQWtDO0FBQ3hDLDRCQUEwQjtBQUMxQixxQkFBZSw0QkFBYyxDQUFDO0FBQzlCLFFBQU0sUUFBUSxTQUFTLEdBQUcsRUFBRTtBQUM1QixRQUFNLE1BQU0sS0FBSyxFQUFFLElBQUksWUFBWSxzQkFBc0IsQ0FBQztBQUMxRCxRQUFNLFVBQVUsTUFBTSxRQUFRLEtBQUssTUFBTSxxQkFBcUIsR0FBRyxDQUFDO0FBQ2xFLFFBQU0sTUFBTTtBQUNkO0FBT0EsZUFBc0IsV0FBVyxLQUF5QjtBQUN4RCxRQUFNLGtCQUFrQixLQUFLLG9CQUFJO0FBQ25DO0FBRUEsU0FBUyxTQUFTLEtBQStCO0FBQy9DLGFBQU8scUNBQXlCLEtBQUssU0FBUyxFQUFFLE9BQU8sQ0FBQyxHQUFHLFNBQVMsUUFBUSxRQUFRLEVBQUUsQ0FBQztBQUN6RjtBQUVBLGVBQWUscUJBQXFCLEtBQXlCO0FBQzNELFFBQU0sUUFBUSxTQUFTLEdBQUcsRUFBRTtBQUM1QixRQUFNLE9BQU8sTUFBTSxNQUFNLENBQUM7QUFDMUIsTUFBSSxDQUFDLE1BQU07QUFDVDtBQUFBLEVBQ0Y7QUFFQSxZQUFNLDhCQUFnQixVQUFNLDZCQUFlLEtBQUssdUJBQXVCLFVBQU0saUNBQWtCLHFCQUFxQixNQUFNLEtBQUssSUFBSSxLQUFLLFVBQVUsQ0FBQyxDQUFDO0FBQ3BKLFFBQU0sTUFBTSxNQUFNO0FBQ3BCOyIsCiAgIm5hbWVzIjogW10KfQo=