obsidian-dev-utils 47.6.0 → 47.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5 -0
- package/dist/lib/cjs/Library.cjs +1 -1
- package/dist/lib/cjs/obsidian/Commands/AbstractFileCommandBase.cjs +20 -22
- package/dist/lib/cjs/obsidian/Commands/AbstractFileCommandBase.d.cts +33 -8
- package/dist/lib/cjs/obsidian/Commands/EditorCommandBase.cjs +17 -13
- package/dist/lib/cjs/obsidian/Commands/EditorCommandBase.d.cts +27 -5
- package/dist/lib/cjs/obsidian/Commands/FileCommandBase.cjs +9 -1
- package/dist/lib/cjs/obsidian/Commands/FileCommandBase.d.cts +7 -0
- package/dist/lib/cjs/obsidian/Commands/FolderCommandBase.cjs +9 -1
- package/dist/lib/cjs/obsidian/Commands/FolderCommandBase.d.cts +7 -0
- package/dist/lib/cjs/obsidian/Commands/NonEditorCommandBase.cjs +9 -1
- package/dist/lib/cjs/obsidian/Commands/NonEditorCommandBase.d.cts +7 -1
- package/dist/lib/esm/Library.mjs +1 -1
- package/dist/lib/esm/obsidian/Commands/AbstractFileCommandBase.d.mts +33 -8
- package/dist/lib/esm/obsidian/Commands/AbstractFileCommandBase.mjs +20 -22
- package/dist/lib/esm/obsidian/Commands/EditorCommandBase.d.mts +27 -5
- package/dist/lib/esm/obsidian/Commands/EditorCommandBase.mjs +17 -13
- package/dist/lib/esm/obsidian/Commands/FileCommandBase.d.mts +7 -0
- package/dist/lib/esm/obsidian/Commands/FileCommandBase.mjs +9 -1
- package/dist/lib/esm/obsidian/Commands/FolderCommandBase.d.mts +7 -0
- package/dist/lib/esm/obsidian/Commands/FolderCommandBase.mjs +9 -1
- package/dist/lib/esm/obsidian/Commands/NonEditorCommandBase.d.mts +7 -1
- package/dist/lib/esm/obsidian/Commands/NonEditorCommandBase.mjs +9 -1
- package/package.json +1 -1
|
@@ -180,6 +180,14 @@ class ArrayDelegatingFolderCommandInvocation extends FolderCommandInvocationBase
|
|
|
180
180
|
}
|
|
181
181
|
}
|
|
182
182
|
class FolderCommandBase extends import_AbstractFileCommandBase.AbstractFileCommandBase {
|
|
183
|
+
/**
|
|
184
|
+
* Creates a new folder command.
|
|
185
|
+
*
|
|
186
|
+
* @param options - The options for the folder command.
|
|
187
|
+
*/
|
|
188
|
+
constructor(options) {
|
|
189
|
+
super(options);
|
|
190
|
+
}
|
|
183
191
|
/**
|
|
184
192
|
* Creates a new abstract file command invocation.
|
|
185
193
|
*
|
|
@@ -319,4 +327,4 @@ class SequentialFoldersCommandInvocationBase extends FoldersCommandInvocationBas
|
|
|
319
327
|
FoldersCommandInvocationBase,
|
|
320
328
|
SequentialFoldersCommandInvocationBase
|
|
321
329
|
});
|
|
322
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NvbW1hbmRzL0ZvbGRlckNvbW1hbmRCYXNlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIEJhc2UgY2xhc3NlcyBmb3IgZm9sZGVyIGNvbW1hbmRzLlxuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgUGx1Z2luLFxuICBUQWJzdHJhY3RGaWxlLFxuICBXb3Jrc3BhY2VMZWFmXG59IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHsgVEZvbGRlciB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHtcbiAgYXNBcnJheU9mRm9sZGVycyxcbiAgYXNGb2xkZXIsXG4gIGFzRm9sZGVyT3JOdWxsLFxuICBpc0ZvbGRlclxufSBmcm9tICcuLi9GaWxlU3lzdGVtLnRzJztcbmltcG9ydCB7XG4gIEFic3RyYWN0RmlsZUNvbW1hbmRCYXNlLFxuICBBYnN0cmFjdEZpbGVDb21tYW5kSW52b2NhdGlvbkJhc2UsXG4gIEFic3RyYWN0RmlsZXNDb21tYW5kSW52b2NhdGlvbkJhc2Vcbn0gZnJvbSAnLi9BYnN0cmFjdEZpbGVDb21tYW5kQmFzZS50cyc7XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgZm9sZGVyIGNvbW1hbmQgaW52b2NhdGlvbnMuXG4gKlxuICogQHR5cGVQYXJhbSBUUGx1Z2luIC0gVGhlIHR5cGUgb2YgdGhlIHBsdWdpbiB0aGF0IHRoZSBjb21tYW5kIGJlbG9uZ3MgdG8uXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGb2xkZXJDb21tYW5kSW52b2NhdGlvbkJhc2U8VFBsdWdpbiBleHRlbmRzIFBsdWdpbj4gZXh0ZW5kcyBBYnN0cmFjdEZpbGVDb21tYW5kSW52b2NhdGlvbkJhc2U8VFBsdWdpbj4ge1xuICAvKipcbiAgICogR2V0cyB0aGUgZm9sZGVyIHRoYXQgdGhlIGNvbW1hbmQgaW52b2NhdGlvbiBiZWxvbmdzIHRvLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgZm9sZGVyIHRoYXQgdGhlIGNvbW1hbmQgaW52b2NhdGlvbiBiZWxvbmdzIHRvLlxuICAgKiBAdGhyb3dzIElmIHRoZSBhYnN0cmFjdCBmaWxlIGlzIG5vdCBhIGZvbGRlci5cbiAgICovXG4gIHByb3RlY3RlZCBnZXQgZm9sZGVyKCk6IFRGb2xkZXIge1xuICAgIHJldHVybiBhc0ZvbGRlcih0aGlzLl9hYnN0cmFjdEZpbGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZS5cbiAgICpcbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZS5cbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBjYW5FeGVjdXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdXBlci5jYW5FeGVjdXRlKCkgJiYgISF0aGlzLmZvbGRlcjtcbiAgfVxufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGFycmF5LWRlbGVnYXRpbmcgZmlsZSBjb21tYW5kIGludm9jYXRpb25zLlxuICpcbiAqIEB0eXBlUGFyYW0gVFBsdWdpbiAtIFRoZSB0eXBlIG9mIHRoZSBwbHVnaW4gdGhhdCB0aGUgY29tbWFuZCBiZWxvbmdzIHRvLlxuICovXG5leHBvcnQgY2xhc3MgQXJyYXlEZWxlZ2F0aW5nRm9sZGVyQ29tbWFuZEludm9jYXRpb248VFBsdWdpbiBleHRlbmRzIFBsdWdpbj4gZXh0ZW5kcyBGb2xkZXJDb21tYW5kSW52b2NhdGlvbkJhc2U8VFBsdWdpbj4ge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBhcnJheS1kZWxlZ2F0aW5nIGZvbGRlciBjb21tYW5kIGludm9jYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luIHRoYXQgdGhlIGNvbW1hbmQgaW52b2NhdGlvbiBiZWxvbmdzIHRvLlxuICAgKiBAcGFyYW0gZm9sZGVyIC0gVGhlIGZpbGUgdG8gaW52b2tlIHRoZSBjb21tYW5kIGZvci5cbiAgICogQHBhcmFtIGNyZWF0ZUNvbW1hbmRJbnZvY2F0aW9uRm9yRmlsZXMgLSBUaGUgZnVuY3Rpb24gdG8gY3JlYXRlIGEgY29tbWFuZCBpbnZvY2F0aW9uIGZvciBmaWxlcy5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwbHVnaW46IFRQbHVnaW4sXG4gICAgZm9sZGVyOiBudWxsIHwgVEZvbGRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNyZWF0ZUNvbW1hbmRJbnZvY2F0aW9uRm9yRmlsZXM6IChmb2xkZXJzOiBURm9sZGVyW10pID0+IEZvbGRlcnNDb21tYW5kSW52b2NhdGlvbkJhc2U8VFBsdWdpbj5cbiAgKSB7XG4gICAgc3VwZXIocGx1Z2luLCBmb2xkZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZS5cbiAgICpcbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZS5cbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBjYW5FeGVjdXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdXBlci5jYW5FeGVjdXRlKCkgJiYgdGhpcy5jcmVhdGVDb21tYW5kSW52b2NhdGlvbkZvckZpbGVzKFt0aGlzLmZvbGRlcl0pLmludm9rZSh0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlcyB0aGUgY29tbWFuZC5cbiAgICpcbiAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgY29tbWFuZCBoYXMgYmVlbiBleGVjdXRlZC5cbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBhc3luYyBleGVjdXRlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuY3JlYXRlQ29tbWFuZEludm9jYXRpb25Gb3JGaWxlcyhbdGhpcy5mb2xkZXJdKS5pbnZva2VBc3luYyhmYWxzZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBmb2xkZXIgY29tbWFuZHMuXG4gKlxuICogQHR5cGVQYXJhbSBUUGx1Z2luIC0gVGhlIHR5cGUgb2YgdGhlIHBsdWdpbiB0aGF0IHRoZSBjb21tYW5kIGJlbG9uZ3MgdG8uXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGb2xkZXJDb21tYW5kQmFzZTxUUGx1Z2luIGV4dGVuZHMgUGx1Z2luID0gUGx1Z2luPiBleHRlbmRzIEFic3RyYWN0RmlsZUNvbW1hbmRCYXNlPFRQbHVnaW4+IHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgYWJzdHJhY3QgZmlsZSBjb21tYW5kIGludm9jYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSBhYnN0cmFjdEZpbGUgLSBUaGUgYWJzdHJhY3QgZmlsZSB0byBpbnZva2UgdGhlIGNvbW1hbmQgZm9yLlxuICAgKiBAcmV0dXJucyBBIG5ldyBhYnN0cmFjdCBmaWxlIGNvbW1hbmQgaW52b2NhdGlvbi5cbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBjcmVhdGVDb21tYW5kSW52b2NhdGlvbihhYnN0cmFjdEZpbGU/OiBUQWJzdHJhY3RGaWxlKTogQWJzdHJhY3RGaWxlQ29tbWFuZEludm9jYXRpb25CYXNlPFRQbHVnaW4+IHtcbiAgICBjb25zdCBmb2xkZXIgPSBhc0ZvbGRlck9yTnVsbChhYnN0cmFjdEZpbGUgPz8gbnVsbCkgPz8gdGhpcy5hcHAud29ya3NwYWNlLmdldEFjdGl2ZUZpbGUoKT8ucGFyZW50ID8/IG51bGw7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlQ29tbWFuZEludm9jYXRpb25Gb3JGb2xkZXIoZm9sZGVyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGFic3RyYWN0IGZpbGUgY29tbWFuZCBpbnZvY2F0aW9uIGZvciBhbiBhYnN0cmFjdCBmaWxlLlxuICAgKlxuICAgKiBAcGFyYW0gYWJzdHJhY3RGaWxlIC0gVGhlIGFic3RyYWN0IGZpbGUgdG8gaW52b2tlIHRoZSBjb21tYW5kIGZvci5cbiAgICogQHJldHVybnMgQSBuZXcgYWJzdHJhY3QgZmlsZSBjb21tYW5kIGludm9jYXRpb24uXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY3JlYXRlQ29tbWFuZEludm9jYXRpb25Gb3JBYnN0cmFjdEZpbGUoYWJzdHJhY3RGaWxlOiBudWxsIHwgVEFic3RyYWN0RmlsZSk6IEFic3RyYWN0RmlsZUNvbW1hbmRJbnZvY2F0aW9uQmFzZTxUUGx1Z2luPiB7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlQ29tbWFuZEludm9jYXRpb25Gb3JGb2xkZXIoYXNGb2xkZXJPck51bGwoYWJzdHJhY3RGaWxlKSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBhYnN0cmFjdCBmaWxlcyBjb21tYW5kIGludm9jYXRpb24gZm9yIGFic3RyYWN0IGZpbGVzLlxuICAgKlxuICAgKiBAcGFyYW0gYWJzdHJhY3RGaWxlcyAtIFRoZSBhYnN0cmFjdCBmaWxlcyB0byBpbnZva2UgdGhlIGNvbW1hbmQgZm9yLlxuICAgKiBAcmV0dXJucyBBIG5ldyBhYnN0cmFjdCBmaWxlcyBjb21tYW5kIGludm9jYXRpb24uXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY3JlYXRlQ29tbWFuZEludm9jYXRpb25Gb3JBYnN0cmFjdEZpbGVzKGFic3RyYWN0RmlsZXM6IFRBYnN0cmFjdEZpbGVbXSk6IEFic3RyYWN0RmlsZXNDb21tYW5kSW52b2NhdGlvbkJhc2U8VFBsdWdpbj4ge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZUNvbW1hbmRJbnZvY2F0aW9uRm9yRm9sZGVycyhhc0FycmF5T2ZGb2xkZXJzKGFic3RyYWN0RmlsZXMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGFic3RyYWN0IGZpbGUgY29tbWFuZCBpbnZvY2F0aW9uIGZvciBhIGZvbGRlci5cbiAgICpcbiAgICogQHBhcmFtIGZvbGRlciAtIFRoZSBmb2xkZXIgdG8gaW52b2tlIHRoZSBjb21tYW5kIGZvci5cbiAgICogQHJldHVybnMgQSBuZXcgZm9sZGVyIGNvbW1hbmQgaW52b2NhdGlvbi5cbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBjcmVhdGVDb21tYW5kSW52b2NhdGlvbkZvckZvbGRlcihmb2xkZXI6IG51bGwgfCBURm9sZGVyKTogRm9sZGVyQ29tbWFuZEludm9jYXRpb25CYXNlPFRQbHVnaW4+O1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGZvbGRlcnMgY29tbWFuZCBpbnZvY2F0aW9uIGZvciBmb2xkZXJzLlxuICAgKlxuICAgKiBAcGFyYW0gZm9sZGVycyAtIFRoZSBmb2xkZXJzIHRvIGludm9rZSB0aGUgY29tbWFuZCBmb3IuXG4gICAqIEByZXR1cm5zIEEgbmV3IGZvbGRlcnMgY29tbWFuZCBpbnZvY2F0aW9uLlxuICAgKi9cbiAgcHJvdGVjdGVkIGNyZWF0ZUNvbW1hbmRJbnZvY2F0aW9uRm9yRm9sZGVycyhmb2xkZXJzOiBURm9sZGVyW10pOiBGb2xkZXJzQ29tbWFuZEludm9jYXRpb25CYXNlPFRQbHVnaW4+IHtcbiAgICByZXR1cm4gbmV3IFNlcXVlbnRpYWxGb2xkZXJzQ29tbWFuZEludm9jYXRpb25CYXNlKHRoaXMucGx1Z2luLCBmb2xkZXJzLCB0aGlzLmNyZWF0ZUNvbW1hbmRJbnZvY2F0aW9uRm9yRm9sZGVyLmJpbmQodGhpcykpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgY29tbWFuZCBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIGFic3RyYWN0IGZpbGUgbWVudS5cbiAgICpcbiAgICogQHBhcmFtIGFic3RyYWN0RmlsZSAtIFRoZSBhYnN0cmFjdCBmaWxlIHRvIGNoZWNrLlxuICAgKiBAcGFyYW0gc291cmNlIC0gVGhlIHNvdXJjZSBvZiB0aGUgYWJzdHJhY3QgZmlsZS5cbiAgICogQHBhcmFtIGxlYWYgLSBUaGUgbGVhZiB0byBjaGVjay5cbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgY29tbWFuZCBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIGFic3RyYWN0IGZpbGUgbWVudS5cbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBzaG91bGRBZGRUb0Fic3RyYWN0RmlsZU1lbnUoYWJzdHJhY3RGaWxlOiBUQWJzdHJhY3RGaWxlLCBzb3VyY2U6IHN0cmluZywgbGVhZj86IFdvcmtzcGFjZUxlYWYpOiBib29sZWFuIHtcbiAgICBpZiAoIWlzRm9sZGVyKGFic3RyYWN0RmlsZSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc2hvdWxkQWRkVG9Gb2xkZXJNZW51KGFic3RyYWN0RmlsZSwgc291cmNlLCBsZWFmKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIGNvbW1hbmQgc2hvdWxkIGJlIGFkZGVkIHRvIHRoZSBhYnN0cmFjdCBmaWxlcyBtZW51LlxuICAgKlxuICAgKiBAcGFyYW0gYWJzdHJhY3RGaWxlcyAtIFRoZSBhYnN0cmFjdCBmaWxlcyB0byBjaGVjay5cbiAgICogQHBhcmFtIHNvdXJjZSAtIFRoZSBzb3VyY2Ugb2YgdGhlIGFic3RyYWN0IGZpbGVzLlxuICAgKiBAcGFyYW0gbGVhZiAtIFRoZSBsZWFmIHRvIGNoZWNrLlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBjb21tYW5kIHNob3VsZCBiZSBhZGRlZCB0byB0aGUgYWJzdHJhY3QgZmlsZXMgbWVudS5cbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBzaG91bGRBZGRUb0Fic3RyYWN0RmlsZXNNZW51KGFic3RyYWN0RmlsZXM6IFRBYnN0cmFjdEZpbGVbXSwgc291cmNlOiBzdHJpbmcsIGxlYWY/OiBXb3Jrc3BhY2VMZWFmKTogYm9vbGVhbiB7XG4gICAgaWYgKCFhYnN0cmFjdEZpbGVzLmV2ZXJ5KChhYnN0cmFjdEZpbGUpID0+IGlzRm9sZGVyKGFic3RyYWN0RmlsZSkpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnNob3VsZEFkZFRvRm9sZGVyc01lbnUoYXNBcnJheU9mRm9sZGVycyhhYnN0cmFjdEZpbGVzKSwgc291cmNlLCBsZWFmKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIGNvbW1hbmQgc2hvdWxkIGJlIGFkZGVkIHRvIHRoZSBmb2xkZXIgbWVudS5cbiAgICpcbiAgICogQHBhcmFtIF9mb2xkZXIgLSBUaGUgZm9sZGVyIHRvIGNoZWNrLlxuICAgKiBAcGFyYW0gX3NvdXJjZSAtIFRoZSBzb3VyY2Ugb2YgdGhlIGZvbGRlci5cbiAgICogQHBhcmFtIF9sZWFmIC0gVGhlIGxlYWYgdG8gY2hlY2suXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGNvbW1hbmQgc2hvdWxkIGJlIGFkZGVkIHRvIHRoZSBmb2xkZXIgbWVudS5cbiAgICovXG4gIHByb3RlY3RlZCBzaG91bGRBZGRUb0ZvbGRlck1lbnUoX2ZvbGRlcjogVEZvbGRlciwgX3NvdXJjZTogc3RyaW5nLCBfbGVhZj86IFdvcmtzcGFjZUxlYWYpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBjb21tYW5kIHNob3VsZCBiZSBhZGRlZCB0byB0aGUgZm9sZGVycyBtZW51LlxuICAgKlxuICAgKiBAcGFyYW0gX2ZvbGRlcnMgLSBUaGUgZm9sZGVycyB0byBjaGVjay5cbiAgICogQHBhcmFtIF9zb3VyY2UgLSBUaGUgc291cmNlIG9mIHRoZSBmb2xkZXJzLlxuICAgKiBAcGFyYW0gX2xlYWYgLSBUaGUgbGVhZiB0byBjaGVjay5cbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgY29tbWFuZCBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIGZvbGRlcnMgbWVudS5cbiAgICovXG4gIHByb3RlY3RlZCBzaG91bGRBZGRUb0ZvbGRlcnNNZW51KF9mb2xkZXJzOiBURm9sZGVyW10sIF9zb3VyY2U6IHN0cmluZywgX2xlYWY/OiBXb3Jrc3BhY2VMZWFmKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgZm9sZGVycyBjb21tYW5kIGludm9jYXRpb25zLlxuICpcbiAqIEB0eXBlUGFyYW0gVFBsdWdpbiAtIFRoZSB0eXBlIG9mIHRoZSBwbHVnaW4gdGhhdCB0aGUgY29tbWFuZCBiZWxvbmdzIHRvLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRm9sZGVyc0NvbW1hbmRJbnZvY2F0aW9uQmFzZTxUUGx1Z2luIGV4dGVuZHMgUGx1Z2luPiBleHRlbmRzIEFic3RyYWN0RmlsZXNDb21tYW5kSW52b2NhdGlvbkJhc2U8VFBsdWdpbj4ge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBmb2xkZXJzIGNvbW1hbmQgaW52b2NhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHBsdWdpbiAtIFRoZSBwbHVnaW4gdGhhdCB0aGUgY29tbWFuZCBpbnZvY2F0aW9uIGJlbG9uZ3MgdG8uXG4gICAqIEBwYXJhbSBmb2xkZXJzIC0gVGhlIGZvbGRlcnMgdG8gaW52b2tlIHRoZSBjb21tYW5kIGZvci5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwbHVnaW46IFRQbHVnaW4sIHB1YmxpYyByZWFkb25seSBmb2xkZXJzOiBURm9sZGVyW10pIHtcbiAgICBzdXBlcihwbHVnaW4sIGZvbGRlcnMpO1xuICB9XG59XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3Igc2VxdWVudGlhbCBmb2xkZXJzIGNvbW1hbmQgaW52b2NhdGlvbnMuXG4gKlxuICogQHR5cGVQYXJhbSBUUGx1Z2luIC0gVGhlIHR5cGUgb2YgdGhlIHBsdWdpbiB0aGF0IHRoZSBjb21tYW5kIGJlbG9uZ3MgdG8uXG4gKi9cbmV4cG9ydCBjbGFzcyBTZXF1ZW50aWFsRm9sZGVyc0NvbW1hbmRJbnZvY2F0aW9uQmFzZTxUUGx1Z2luIGV4dGVuZHMgUGx1Z2luPiBleHRlbmRzIEZvbGRlcnNDb21tYW5kSW52b2NhdGlvbkJhc2U8VFBsdWdpbj4ge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBzZXF1ZW50aWFsIGZvbGRlcnMgY29tbWFuZCBpbnZvY2F0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gcGx1Z2luIC0gVGhlIHBsdWdpbiB0aGF0IHRoZSBjb21tYW5kIGludm9jYXRpb24gYmVsb25ncyB0by5cbiAgICogQHBhcmFtIGZvbGRlcnMgLSBUaGUgZm9sZGVycyB0byBpbnZva2UgdGhlIGNvbW1hbmQgZm9yLlxuICAgKiBAcGFyYW0gY3JlYXRlQ29tbWFuZEludm9jYXRpb25Gb3JGb2xkZXIgLSBUaGUgZnVuY3Rpb24gdG8gY3JlYXRlIGEgY29tbWFuZCBpbnZvY2F0aW9uIGZvciBhIGZvbGRlci5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwbHVnaW46IFRQbHVnaW4sXG4gICAgZm9sZGVyczogVEZvbGRlcltdLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY3JlYXRlQ29tbWFuZEludm9jYXRpb25Gb3JGb2xkZXI6IChmb2xkZXI6IFRGb2xkZXIpID0+IEZvbGRlckNvbW1hbmRJbnZvY2F0aW9uQmFzZTxUUGx1Z2luPlxuICApIHtcbiAgICBzdXBlcihwbHVnaW4sIGZvbGRlcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZS5cbiAgICpcbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZS5cbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBjYW5FeGVjdXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdXBlci5jYW5FeGVjdXRlKCkgJiYgdGhpcy5mb2xkZXJzLmxlbmd0aCA+IDAgJiYgdGhpcy5mb2xkZXJzLmV2ZXJ5KChmb2xkZXIpID0+IHRoaXMuY3JlYXRlQ29tbWFuZEludm9jYXRpb25Gb3JGb2xkZXIoZm9sZGVyKS5pbnZva2UodHJ1ZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGVzIHRoZSBjb21tYW5kLlxuICAgKlxuICAgKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBjb21tYW5kIGhhcyBiZWVuIGV4ZWN1dGVkLlxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGFzeW5jIGV4ZWN1dGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgZm9yIChjb25zdCBmb2xkZXIgb2YgdGhpcy5mb2xkZXJzKSB7XG4gICAgICBhd2FpdCB0aGlzLmNyZWF0ZUNvbW1hbmRJbnZvY2F0aW9uRm9yRm9sZGVyKGZvbGRlcikuaW52b2tlQXN5bmMoZmFsc2UpO1xuICAgIH1cbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVlBLHNCQUF3QjtBQUV4Qix3QkFLTztBQUNQLHFDQUlPO0FBT0EsTUFBZSxvQ0FBNEQsaUVBQTJDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPM0gsSUFBYyxTQUFrQjtBQUM5QixlQUFPLDRCQUFTLEtBQUssYUFBYTtBQUFBLEVBQ3BDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT21CLGFBQXNCO0FBQ3ZDLFdBQU8sTUFBTSxXQUFXLEtBQUssQ0FBQyxDQUFDLEtBQUs7QUFBQSxFQUN0QztBQUNGO0FBT08sTUFBTSwrQ0FBdUUsNEJBQXFDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFoSCxZQUNMLFFBQ0EsUUFDaUIsaUNBQ2pCO0FBQ0EsVUFBTSxRQUFRLE1BQU07QUFGSDtBQUFBLEVBR25CO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT21CLGFBQXNCO0FBQ3ZDLFdBQU8sTUFBTSxXQUFXLEtBQUssS0FBSyxnQ0FBZ0MsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxF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
|
|
330
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NvbW1hbmRzL0ZvbGRlckNvbW1hbmRCYXNlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIEJhc2UgY2xhc3NlcyBmb3IgZm9sZGVyIGNvbW1hbmRzLlxuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgUGx1Z2luLFxuICBUQWJzdHJhY3RGaWxlLFxuICBXb3Jrc3BhY2VMZWFmXG59IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHsgVEZvbGRlciB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUgeyBBYnN0cmFjdEZpbGVDb21tYW5kQmFzZU9wdGlvbnMgfSBmcm9tICcuL0Fic3RyYWN0RmlsZUNvbW1hbmRCYXNlLnRzJztcblxuaW1wb3J0IHtcbiAgYXNBcnJheU9mRm9sZGVycyxcbiAgYXNGb2xkZXIsXG4gIGFzRm9sZGVyT3JOdWxsLFxuICBpc0ZvbGRlclxufSBmcm9tICcuLi9GaWxlU3lzdGVtLnRzJztcbmltcG9ydCB7XG4gIEFic3RyYWN0RmlsZUNvbW1hbmRCYXNlLFxuICBBYnN0cmFjdEZpbGVDb21tYW5kSW52b2NhdGlvbkJhc2UsXG4gIEFic3RyYWN0RmlsZXNDb21tYW5kSW52b2NhdGlvbkJhc2Vcbn0gZnJvbSAnLi9BYnN0cmFjdEZpbGVDb21tYW5kQmFzZS50cyc7XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgZm9sZGVyIGNvbW1hbmQgaW52b2NhdGlvbnMuXG4gKlxuICogQHR5cGVQYXJhbSBUUGx1Z2luIC0gVGhlIHR5cGUgb2YgdGhlIHBsdWdpbiB0aGF0IHRoZSBjb21tYW5kIGJlbG9uZ3MgdG8uXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGb2xkZXJDb21tYW5kSW52b2NhdGlvbkJhc2U8VFBsdWdpbiBleHRlbmRzIFBsdWdpbj4gZXh0ZW5kcyBBYnN0cmFjdEZpbGVDb21tYW5kSW52b2NhdGlvbkJhc2U8VFBsdWdpbj4ge1xuICAvKipcbiAgICogR2V0cyB0aGUgZm9sZGVyIHRoYXQgdGhlIGNvbW1hbmQgaW52b2NhdGlvbiBiZWxvbmdzIHRvLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgZm9sZGVyIHRoYXQgdGhlIGNvbW1hbmQgaW52b2NhdGlvbiBiZWxvbmdzIHRvLlxuICAgKiBAdGhyb3dzIElmIHRoZSBhYnN0cmFjdCBmaWxlIGlzIG5vdCBhIGZvbGRlci5cbiAgICovXG4gIHByb3RlY3RlZCBnZXQgZm9sZGVyKCk6IFRGb2xkZXIge1xuICAgIHJldHVybiBhc0ZvbGRlcih0aGlzLl9hYnN0cmFjdEZpbGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZS5cbiAgICpcbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZS5cbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBjYW5FeGVjdXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdXBlci5jYW5FeGVjdXRlKCkgJiYgISF0aGlzLmZvbGRlcjtcbiAgfVxufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGFycmF5LWRlbGVnYXRpbmcgZmlsZSBjb21tYW5kIGludm9jYXRpb25zLlxuICpcbiAqIEB0eXBlUGFyYW0gVFBsdWdpbiAtIFRoZSB0eXBlIG9mIHRoZSBwbHVnaW4gdGhhdCB0aGUgY29tbWFuZCBiZWxvbmdzIHRvLlxuICovXG5leHBvcnQgY2xhc3MgQXJyYXlEZWxlZ2F0aW5nRm9sZGVyQ29tbWFuZEludm9jYXRpb248VFBsdWdpbiBleHRlbmRzIFBsdWdpbj4gZXh0ZW5kcyBGb2xkZXJDb21tYW5kSW52b2NhdGlvbkJhc2U8VFBsdWdpbj4ge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBhcnJheS1kZWxlZ2F0aW5nIGZvbGRlciBjb21tYW5kIGludm9jYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luIHRoYXQgdGhlIGNvbW1hbmQgaW52b2NhdGlvbiBiZWxvbmdzIHRvLlxuICAgKiBAcGFyYW0gZm9sZGVyIC0gVGhlIGZpbGUgdG8gaW52b2tlIHRoZSBjb21tYW5kIGZvci5cbiAgICogQHBhcmFtIGNyZWF0ZUNvbW1hbmRJbnZvY2F0aW9uRm9yRmlsZXMgLSBUaGUgZnVuY3Rpb24gdG8gY3JlYXRlIGEgY29tbWFuZCBpbnZvY2F0aW9uIGZvciBmaWxlcy5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwbHVnaW46IFRQbHVnaW4sXG4gICAgZm9sZGVyOiBudWxsIHwgVEZvbGRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNyZWF0ZUNvbW1hbmRJbnZvY2F0aW9uRm9yRmlsZXM6IChmb2xkZXJzOiBURm9sZGVyW10pID0+IEZvbGRlcnNDb21tYW5kSW52b2NhdGlvbkJhc2U8VFBsdWdpbj5cbiAgKSB7XG4gICAgc3VwZXIocGx1Z2luLCBmb2xkZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZS5cbiAgICpcbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZS5cbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBjYW5FeGVjdXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdXBlci5jYW5FeGVjdXRlKCkgJiYgdGhpcy5jcmVhdGVDb21tYW5kSW52b2NhdGlvbkZvckZpbGVzKFt0aGlzLmZvbGRlcl0pLmludm9rZSh0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlcyB0aGUgY29tbWFuZC5cbiAgICpcbiAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgY29tbWFuZCBoYXMgYmVlbiBleGVjdXRlZC5cbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBhc3luYyBleGVjdXRlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuY3JlYXRlQ29tbWFuZEludm9jYXRpb25Gb3JGaWxlcyhbdGhpcy5mb2xkZXJdKS5pbnZva2VBc3luYyhmYWxzZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBmb2xkZXIgY29tbWFuZHMuXG4gKlxuICogQHR5cGVQYXJhbSBUUGx1Z2luIC0gVGhlIHR5cGUgb2YgdGhlIHBsdWdpbiB0aGF0IHRoZSBjb21tYW5kIGJlbG9uZ3MgdG8uXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGb2xkZXJDb21tYW5kQmFzZTxUUGx1Z2luIGV4dGVuZHMgUGx1Z2luID0gUGx1Z2luPiBleHRlbmRzIEFic3RyYWN0RmlsZUNvbW1hbmRCYXNlPFRQbHVnaW4+IHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgZm9sZGVyIGNvbW1hbmQuXG4gICAqXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIHRoZSBmb2xkZXIgY29tbWFuZC5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihvcHRpb25zOiBBYnN0cmFjdEZpbGVDb21tYW5kQmFzZU9wdGlvbnM8VFBsdWdpbj4pIHtcbiAgICBzdXBlcihvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGFic3RyYWN0IGZpbGUgY29tbWFuZCBpbnZvY2F0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gYWJzdHJhY3RGaWxlIC0gVGhlIGFic3RyYWN0IGZpbGUgdG8gaW52b2tlIHRoZSBjb21tYW5kIGZvci5cbiAgICogQHJldHVybnMgQSBuZXcgYWJzdHJhY3QgZmlsZSBjb21tYW5kIGludm9jYXRpb24uXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY3JlYXRlQ29tbWFuZEludm9jYXRpb24oYWJzdHJhY3RGaWxlPzogVEFic3RyYWN0RmlsZSk6IEFic3RyYWN0RmlsZUNvbW1hbmRJbnZvY2F0aW9uQmFzZTxUUGx1Z2luPiB7XG4gICAgY29uc3QgZm9sZGVyID0gYXNGb2xkZXJPck51bGwoYWJzdHJhY3RGaWxlID8/IG51bGwpID8/IHRoaXMuYXBwLndvcmtzcGFjZS5nZXRBY3RpdmVGaWxlKCk/LnBhcmVudCA/PyBudWxsO1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZUNvbW1hbmRJbnZvY2F0aW9uRm9yRm9sZGVyKGZvbGRlcik7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBhYnN0cmFjdCBmaWxlIGNvbW1hbmQgaW52b2NhdGlvbiBmb3IgYW4gYWJzdHJhY3QgZmlsZS5cbiAgICpcbiAgICogQHBhcmFtIGFic3RyYWN0RmlsZSAtIFRoZSBhYnN0cmFjdCBmaWxlIHRvIGludm9rZSB0aGUgY29tbWFuZCBmb3IuXG4gICAqIEByZXR1cm5zIEEgbmV3IGFic3RyYWN0IGZpbGUgY29tbWFuZCBpbnZvY2F0aW9uLlxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGNyZWF0ZUNvbW1hbmRJbnZvY2F0aW9uRm9yQWJzdHJhY3RGaWxlKGFic3RyYWN0RmlsZTogbnVsbCB8IFRBYnN0cmFjdEZpbGUpOiBBYnN0cmFjdEZpbGVDb21tYW5kSW52b2NhdGlvbkJhc2U8VFBsdWdpbj4ge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZUNvbW1hbmRJbnZvY2F0aW9uRm9yRm9sZGVyKGFzRm9sZGVyT3JOdWxsKGFic3RyYWN0RmlsZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgYWJzdHJhY3QgZmlsZXMgY29tbWFuZCBpbnZvY2F0aW9uIGZvciBhYnN0cmFjdCBmaWxlcy5cbiAgICpcbiAgICogQHBhcmFtIGFic3RyYWN0RmlsZXMgLSBUaGUgYWJzdHJhY3QgZmlsZXMgdG8gaW52b2tlIHRoZSBjb21tYW5kIGZvci5cbiAgICogQHJldHVybnMgQSBuZXcgYWJzdHJhY3QgZmlsZXMgY29tbWFuZCBpbnZvY2F0aW9uLlxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGNyZWF0ZUNvbW1hbmRJbnZvY2F0aW9uRm9yQWJzdHJhY3RGaWxlcyhhYnN0cmFjdEZpbGVzOiBUQWJzdHJhY3RGaWxlW10pOiBBYnN0cmFjdEZpbGVzQ29tbWFuZEludm9jYXRpb25CYXNlPFRQbHVnaW4+IHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGVDb21tYW5kSW52b2NhdGlvbkZvckZvbGRlcnMoYXNBcnJheU9mRm9sZGVycyhhYnN0cmFjdEZpbGVzKSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBhYnN0cmFjdCBmaWxlIGNvbW1hbmQgaW52b2NhdGlvbiBmb3IgYSBmb2xkZXIuXG4gICAqXG4gICAqIEBwYXJhbSBmb2xkZXIgLSBUaGUgZm9sZGVyIHRvIGludm9rZSB0aGUgY29tbWFuZCBmb3IuXG4gICAqIEByZXR1cm5zIEEgbmV3IGZvbGRlciBjb21tYW5kIGludm9jYXRpb24uXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgY3JlYXRlQ29tbWFuZEludm9jYXRpb25Gb3JGb2xkZXIoZm9sZGVyOiBudWxsIHwgVEZvbGRlcik6IEZvbGRlckNvbW1hbmRJbnZvY2F0aW9uQmFzZTxUUGx1Z2luPjtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBmb2xkZXJzIGNvbW1hbmQgaW52b2NhdGlvbiBmb3IgZm9sZGVycy5cbiAgICpcbiAgICogQHBhcmFtIGZvbGRlcnMgLSBUaGUgZm9sZGVycyB0byBpbnZva2UgdGhlIGNvbW1hbmQgZm9yLlxuICAgKiBAcmV0dXJucyBBIG5ldyBmb2xkZXJzIGNvbW1hbmQgaW52b2NhdGlvbi5cbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVDb21tYW5kSW52b2NhdGlvbkZvckZvbGRlcnMoZm9sZGVyczogVEZvbGRlcltdKTogRm9sZGVyc0NvbW1hbmRJbnZvY2F0aW9uQmFzZTxUUGx1Z2luPiB7XG4gICAgcmV0dXJuIG5ldyBTZXF1ZW50aWFsRm9sZGVyc0NvbW1hbmRJbnZvY2F0aW9uQmFzZSh0aGlzLnBsdWdpbiwgZm9sZGVycywgdGhpcy5jcmVhdGVDb21tYW5kSW52b2NhdGlvbkZvckZvbGRlci5iaW5kKHRoaXMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIGNvbW1hbmQgc2hvdWxkIGJlIGFkZGVkIHRvIHRoZSBhYnN0cmFjdCBmaWxlIG1lbnUuXG4gICAqXG4gICAqIEBwYXJhbSBhYnN0cmFjdEZpbGUgLSBUaGUgYWJzdHJhY3QgZmlsZSB0byBjaGVjay5cbiAgICogQHBhcmFtIHNvdXJjZSAtIFRoZSBzb3VyY2Ugb2YgdGhlIGFic3RyYWN0IGZpbGUuXG4gICAqIEBwYXJhbSBsZWFmIC0gVGhlIGxlYWYgdG8gY2hlY2suXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGNvbW1hbmQgc2hvdWxkIGJlIGFkZGVkIHRvIHRoZSBhYnN0cmFjdCBmaWxlIG1lbnUuXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2hvdWxkQWRkVG9BYnN0cmFjdEZpbGVNZW51KGFic3RyYWN0RmlsZTogVEFic3RyYWN0RmlsZSwgc291cmNlOiBzdHJpbmcsIGxlYWY/OiBXb3Jrc3BhY2VMZWFmKTogYm9vbGVhbiB7XG4gICAgaWYgKCFpc0ZvbGRlcihhYnN0cmFjdEZpbGUpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnNob3VsZEFkZFRvRm9sZGVyTWVudShhYnN0cmFjdEZpbGUsIHNvdXJjZSwgbGVhZik7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBjb21tYW5kIHNob3VsZCBiZSBhZGRlZCB0byB0aGUgYWJzdHJhY3QgZmlsZXMgbWVudS5cbiAgICpcbiAgICogQHBhcmFtIGFic3RyYWN0RmlsZXMgLSBUaGUgYWJzdHJhY3QgZmlsZXMgdG8gY2hlY2suXG4gICAqIEBwYXJhbSBzb3VyY2UgLSBUaGUgc291cmNlIG9mIHRoZSBhYnN0cmFjdCBmaWxlcy5cbiAgICogQHBhcmFtIGxlYWYgLSBUaGUgbGVhZiB0byBjaGVjay5cbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgY29tbWFuZCBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIGFic3RyYWN0IGZpbGVzIG1lbnUuXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2hvdWxkQWRkVG9BYnN0cmFjdEZpbGVzTWVudShhYnN0cmFjdEZpbGVzOiBUQWJzdHJhY3RGaWxlW10sIHNvdXJjZTogc3RyaW5nLCBsZWFmPzogV29ya3NwYWNlTGVhZik6IGJvb2xlYW4ge1xuICAgIGlmICghYWJzdHJhY3RGaWxlcy5ldmVyeSgoYWJzdHJhY3RGaWxlKSA9PiBpc0ZvbGRlcihhYnN0cmFjdEZpbGUpKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zaG91bGRBZGRUb0ZvbGRlcnNNZW51KGFzQXJyYXlPZkZvbGRlcnMoYWJzdHJhY3RGaWxlcyksIHNvdXJjZSwgbGVhZik7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBjb21tYW5kIHNob3VsZCBiZSBhZGRlZCB0byB0aGUgZm9sZGVyIG1lbnUuXG4gICAqXG4gICAqIEBwYXJhbSBfZm9sZGVyIC0gVGhlIGZvbGRlciB0byBjaGVjay5cbiAgICogQHBhcmFtIF9zb3VyY2UgLSBUaGUgc291cmNlIG9mIHRoZSBmb2xkZXIuXG4gICAqIEBwYXJhbSBfbGVhZiAtIFRoZSBsZWFmIHRvIGNoZWNrLlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBjb21tYW5kIHNob3VsZCBiZSBhZGRlZCB0byB0aGUgZm9sZGVyIG1lbnUuXG4gICAqL1xuICBwcm90ZWN0ZWQgc2hvdWxkQWRkVG9Gb2xkZXJNZW51KF9mb2xkZXI6IFRGb2xkZXIsIF9zb3VyY2U6IHN0cmluZywgX2xlYWY/OiBXb3Jrc3BhY2VMZWFmKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgY29tbWFuZCBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIGZvbGRlcnMgbWVudS5cbiAgICpcbiAgICogQHBhcmFtIF9mb2xkZXJzIC0gVGhlIGZvbGRlcnMgdG8gY2hlY2suXG4gICAqIEBwYXJhbSBfc291cmNlIC0gVGhlIHNvdXJjZSBvZiB0aGUgZm9sZGVycy5cbiAgICogQHBhcmFtIF9sZWFmIC0gVGhlIGxlYWYgdG8gY2hlY2suXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGNvbW1hbmQgc2hvdWxkIGJlIGFkZGVkIHRvIHRoZSBmb2xkZXJzIG1lbnUuXG4gICAqL1xuICBwcm90ZWN0ZWQgc2hvdWxkQWRkVG9Gb2xkZXJzTWVudShfZm9sZGVyczogVEZvbGRlcltdLCBfc291cmNlOiBzdHJpbmcsIF9sZWFmPzogV29ya3NwYWNlTGVhZik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGZvbGRlcnMgY29tbWFuZCBpbnZvY2F0aW9ucy5cbiAqXG4gKiBAdHlwZVBhcmFtIFRQbHVnaW4gLSBUaGUgdHlwZSBvZiB0aGUgcGx1Z2luIHRoYXQgdGhlIGNvbW1hbmQgYmVsb25ncyB0by5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZvbGRlcnNDb21tYW5kSW52b2NhdGlvbkJhc2U8VFBsdWdpbiBleHRlbmRzIFBsdWdpbj4gZXh0ZW5kcyBBYnN0cmFjdEZpbGVzQ29tbWFuZEludm9jYXRpb25CYXNlPFRQbHVnaW4+IHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgZm9sZGVycyBjb21tYW5kIGludm9jYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luIHRoYXQgdGhlIGNvbW1hbmQgaW52b2NhdGlvbiBiZWxvbmdzIHRvLlxuICAgKiBAcGFyYW0gZm9sZGVycyAtIFRoZSBmb2xkZXJzIHRvIGludm9rZSB0aGUgY29tbWFuZCBmb3IuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IocGx1Z2luOiBUUGx1Z2luLCBwdWJsaWMgcmVhZG9ubHkgZm9sZGVyczogVEZvbGRlcltdKSB7XG4gICAgc3VwZXIocGx1Z2luLCBmb2xkZXJzKTtcbiAgfVxufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIHNlcXVlbnRpYWwgZm9sZGVycyBjb21tYW5kIGludm9jYXRpb25zLlxuICpcbiAqIEB0eXBlUGFyYW0gVFBsdWdpbiAtIFRoZSB0eXBlIG9mIHRoZSBwbHVnaW4gdGhhdCB0aGUgY29tbWFuZCBiZWxvbmdzIHRvLlxuICovXG5leHBvcnQgY2xhc3MgU2VxdWVudGlhbEZvbGRlcnNDb21tYW5kSW52b2NhdGlvbkJhc2U8VFBsdWdpbiBleHRlbmRzIFBsdWdpbj4gZXh0ZW5kcyBGb2xkZXJzQ29tbWFuZEludm9jYXRpb25CYXNlPFRQbHVnaW4+IHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgc2VxdWVudGlhbCBmb2xkZXJzIGNvbW1hbmQgaW52b2NhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHBsdWdpbiAtIFRoZSBwbHVnaW4gdGhhdCB0aGUgY29tbWFuZCBpbnZvY2F0aW9uIGJlbG9uZ3MgdG8uXG4gICAqIEBwYXJhbSBmb2xkZXJzIC0gVGhlIGZvbGRlcnMgdG8gaW52b2tlIHRoZSBjb21tYW5kIGZvci5cbiAgICogQHBhcmFtIGNyZWF0ZUNvbW1hbmRJbnZvY2F0aW9uRm9yRm9sZGVyIC0gVGhlIGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIGNvbW1hbmQgaW52b2NhdGlvbiBmb3IgYSBmb2xkZXIuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcGx1Z2luOiBUUGx1Z2luLFxuICAgIGZvbGRlcnM6IFRGb2xkZXJbXSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNyZWF0ZUNvbW1hbmRJbnZvY2F0aW9uRm9yRm9sZGVyOiAoZm9sZGVyOiBURm9sZGVyKSA9PiBGb2xkZXJDb21tYW5kSW52b2NhdGlvbkJhc2U8VFBsdWdpbj5cbiAgKSB7XG4gICAgc3VwZXIocGx1Z2luLCBmb2xkZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIGNvbW1hbmQgY2FuIGV4ZWN1dGUuXG4gICAqXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGNvbW1hbmQgY2FuIGV4ZWN1dGUuXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY2FuRXhlY3V0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3VwZXIuY2FuRXhlY3V0ZSgpICYmIHRoaXMuZm9sZGVycy5sZW5ndGggPiAwICYmIHRoaXMuZm9sZGVycy5ldmVyeSgoZm9sZGVyKSA9PiB0aGlzLmNyZWF0ZUNvbW1hbmRJbnZvY2F0aW9uRm9yRm9sZGVyKGZvbGRlcikuaW52b2tlKHRydWUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlcyB0aGUgY29tbWFuZC5cbiAgICpcbiAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgY29tbWFuZCBoYXMgYmVlbiBleGVjdXRlZC5cbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBhc3luYyBleGVjdXRlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGZvciAoY29uc3QgZm9sZGVyIG9mIHRoaXMuZm9sZGVycykge1xuICAgICAgYXdhaXQgdGhpcy5jcmVhdGVDb21tYW5kSW52b2NhdGlvbkZvckZvbGRlcihmb2xkZXIpLmludm9rZUFzeW5jKGZhbHNlKTtcbiAgICB9XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFZQSxzQkFBd0I7QUFJeEIsd0JBS087QUFDUCxxQ0FJTztBQU9BLE1BQWUsb0NBQTRELGlFQUEyQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTzNILElBQWMsU0FBa0I7QUFDOUIsZUFBTyw0QkFBUyxLQUFLLGFBQWE7QUFBQSxFQUNwQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7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
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import type { Plugin, TAbstractFile, WorkspaceLeaf } from 'obsidian';
|
|
7
7
|
import { TFolder } from 'obsidian';
|
|
8
|
+
import type { AbstractFileCommandBaseOptions } from './AbstractFileCommandBase.cjs';
|
|
8
9
|
import { AbstractFileCommandBase, AbstractFileCommandInvocationBase, AbstractFilesCommandInvocationBase } from './AbstractFileCommandBase.cjs';
|
|
9
10
|
/**
|
|
10
11
|
* Base class for folder command invocations.
|
|
@@ -60,6 +61,12 @@ export declare class ArrayDelegatingFolderCommandInvocation<TPlugin extends Plug
|
|
|
60
61
|
* @typeParam TPlugin - The type of the plugin that the command belongs to.
|
|
61
62
|
*/
|
|
62
63
|
export declare abstract class FolderCommandBase<TPlugin extends Plugin = Plugin> extends AbstractFileCommandBase<TPlugin> {
|
|
64
|
+
/**
|
|
65
|
+
* Creates a new folder command.
|
|
66
|
+
*
|
|
67
|
+
* @param options - The options for the folder command.
|
|
68
|
+
*/
|
|
69
|
+
constructor(options: AbstractFileCommandBaseOptions<TPlugin>);
|
|
63
70
|
/**
|
|
64
71
|
* Creates a new abstract file command invocation.
|
|
65
72
|
*
|
|
@@ -126,6 +126,14 @@ __export(NonEditorCommandBase_exports, {
|
|
|
126
126
|
module.exports = __toCommonJS(NonEditorCommandBase_exports);
|
|
127
127
|
var import_CommandBase = require('./CommandBase.cjs');
|
|
128
128
|
class NonEditorCommandBase extends import_CommandBase.CommandBase {
|
|
129
|
+
/**
|
|
130
|
+
* Creates a new non-editor command.
|
|
131
|
+
*
|
|
132
|
+
* @param options - The options for the non-editor command.
|
|
133
|
+
*/
|
|
134
|
+
constructor(options) {
|
|
135
|
+
super(options);
|
|
136
|
+
}
|
|
129
137
|
/**
|
|
130
138
|
* Checks if the command can execute or executes it.
|
|
131
139
|
*
|
|
@@ -140,4 +148,4 @@ class NonEditorCommandBase extends import_CommandBase.CommandBase {
|
|
|
140
148
|
0 && (module.exports = {
|
|
141
149
|
NonEditorCommandBase
|
|
142
150
|
});
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NvbW1hbmRzL05vbkVkaXRvckNvbW1hbmRCYXNlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIEJhc2UgY2xhc3NlcyBmb3Igbm9uLWVkaXRvciBjb21tYW5kcy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpbiB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUge1xuICBDb21tYW5kQmFzZU9wdGlvbnMsXG4gIENvbW1hbmRJbnZvY2F0aW9uQmFzZVxufSBmcm9tICcuL0NvbW1hbmRCYXNlLnRzJztcblxuaW1wb3J0IHsgQ29tbWFuZEJhc2UgfSBmcm9tICcuL0NvbW1hbmRCYXNlLnRzJztcblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBub24tZWRpdG9yIGNvbW1hbmRzLlxuICpcbiAqIEB0eXBlUGFyYW0gVFBsdWdpbiAtIFRoZSB0eXBlIG9mIHRoZSBwbHVnaW4gdGhhdCB0aGUgY29tbWFuZCBiZWxvbmdzIHRvLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTm9uRWRpdG9yQ29tbWFuZEJhc2U8VFBsdWdpbiBleHRlbmRzIFBsdWdpbj4gZXh0ZW5kcyBDb21tYW5kQmFzZTxUUGx1Z2luPiB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IG5vbi1lZGl0b3IgY29tbWFuZC5cbiAgICpcbiAgICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgdGhlIG5vbi1lZGl0b3IgY29tbWFuZC5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihvcHRpb25zOiBDb21tYW5kQmFzZU9wdGlvbnM8VFBsdWdpbj4pIHtcbiAgICBzdXBlcihvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIGNvbW1hbmQgY2FuIGV4ZWN1dGUgb3IgZXhlY3V0ZXMgaXQuXG4gICAqXG4gICAqIEBwYXJhbSBjaGVja2luZyAtIElzIGNoZWNraW5nIG1vZGUgb25seS4gSWYgYHRydWVgLCBvbmx5IHRoZSBjaGVjayBpZiB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZSBpcyBwZXJmb3JtZWQuIElmIGBmYWxzZWAsIHRoZSBjb21tYW5kIGlzIGV4ZWN1dGVkLlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBjb21tYW5kIGNhbiBleGVjdXRlLlxuICAgKi9cbiAgcHVibGljIGNoZWNrQ2FsbGJhY2soY2hlY2tpbmc6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGVDb21tYW5kSW52b2NhdGlvbigpLmludm9rZShjaGVja2luZyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBjb21tYW5kIGludm9jYXRpb24uXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBjb21tYW5kIGludm9jYXRpb24uXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgY3JlYXRlQ29tbWFuZEludm9jYXRpb24oKTogQ29tbWFuZEludm9jYXRpb25CYXNlO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFhQSx5QkFBNEI7QUFPckIsTUFBZSw2QkFBcUQsK0JBQXFCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTXZGLFlBQVksU0FBc0M7QUFDdkQsVUFBTSxPQUFPO0FBQUEsRUFDZjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUU8sY0FBYyxVQUE0QjtBQUMvQyxXQUFPLEtBQUssd0JBQXdCLEVBQUUsT0FBTyxRQUFRO0FBQUEsRUFDdkQ7QUFRRjsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Base classes for non-editor commands.
|
|
5
5
|
*/
|
|
6
6
|
import type { Plugin } from 'obsidian';
|
|
7
|
-
import type { CommandInvocationBase } from './CommandBase.cjs';
|
|
7
|
+
import type { CommandBaseOptions, CommandInvocationBase } from './CommandBase.cjs';
|
|
8
8
|
import { CommandBase } from './CommandBase.cjs';
|
|
9
9
|
/**
|
|
10
10
|
* Base class for non-editor commands.
|
|
@@ -12,6 +12,12 @@ import { CommandBase } from './CommandBase.cjs';
|
|
|
12
12
|
* @typeParam TPlugin - The type of the plugin that the command belongs to.
|
|
13
13
|
*/
|
|
14
14
|
export declare abstract class NonEditorCommandBase<TPlugin extends Plugin> extends CommandBase<TPlugin> {
|
|
15
|
+
/**
|
|
16
|
+
* Creates a new non-editor command.
|
|
17
|
+
*
|
|
18
|
+
* @param options - The options for the non-editor command.
|
|
19
|
+
*/
|
|
20
|
+
constructor(options: CommandBaseOptions<TPlugin>);
|
|
15
21
|
/**
|
|
16
22
|
* Checks if the command can execute or executes it.
|
|
17
23
|
*
|
package/dist/lib/esm/Library.mjs
CHANGED
|
@@ -19,7 +19,7 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
19
19
|
globalThis.process = browserProcess;
|
|
20
20
|
})();
|
|
21
21
|
|
|
22
|
-
const LIBRARY_VERSION = "47.
|
|
22
|
+
const LIBRARY_VERSION = "47.7.0";
|
|
23
23
|
const LIBRARY_NAME = "obsidian-dev-utils";
|
|
24
24
|
const LIBRARY_STYLES = ".obsidian-dev-utils.code-highlighter-component textarea, .obsidian-dev-utils.code-highlighter-component pre, .obsidian-dev-utils.code-highlighter-component code {\n font-family: var(--font-monospace);\n line-height: var(--line-height-normal);\n margin: 0;\n}\n.obsidian-dev-utils.code-highlighter-component textarea, .obsidian-dev-utils.code-highlighter-component code {\n font-size: var(--code-size);\n}\n.obsidian-dev-utils.code-highlighter-component textarea {\n background: transparent;\n color: transparent;\n z-index: 2;\n width: 20em;\n height: 10em;\n}\n.obsidian-dev-utils.code-highlighter-component pre {\n position: absolute;\n pointer-events: none;\n border: var(--input-border-width) solid transparent;\n overflow: auto;\n inset: 0;\n padding: var(--size-4-1) var(--size-4-2);\n z-index: 1;\n}\n.obsidian-dev-utils.code-highlighter-component pre::after {\n content: \"\";\n display: block;\n height: var(--bottom-gap, 0);\n}\n.obsidian-dev-utils.code-highlighter-component pre.is-placeholder {\n opacity: 0.6;\n}\n.obsidian-dev-utils.code-highlighter-component code {\n display: block;\n padding: 0;\n}\n\n.obsidian-dev-utils input[type=url] {\n height: var(--input-height);\n}\n.obsidian-dev-utils input[type=month],\n.obsidian-dev-utils input[type=tel],\n.obsidian-dev-utils input[type=time],\n.obsidian-dev-utils input[type=url],\n.obsidian-dev-utils input[type=week] {\n -webkit-app-region: no-drag;\n background: var(--background-modifier-form-field);\n border: var(--input-border-width) solid var(--background-modifier-border);\n color: var(--text-normal);\n font-family: inherit;\n padding: var(--size-4-1) var(--size-4-2);\n font-size: var(--font-ui-small);\n border-radius: var(--input-radius);\n outline: none;\n}\n@media (hover: hover) {\n .obsidian-dev-utils input[type=month]:hover,\n .obsidian-dev-utils input[type=tel]:hover,\n .obsidian-dev-utils input[type=time]:hover,\n .obsidian-dev-utils input[type=url]:hover,\n .obsidian-dev-utils input[type=week]:hover {\n border-color: var(--background-modifier-border-hover);\n transition: box-shadow 0.15s ease-in-out, border 0.15s ease-in-out;\n }\n}\n.obsidian-dev-utils input[type=month]:active, .obsidian-dev-utils input[type=month]:focus,\n.obsidian-dev-utils input[type=tel]:active,\n.obsidian-dev-utils input[type=tel]:focus,\n.obsidian-dev-utils input[type=time]:active,\n.obsidian-dev-utils input[type=time]:focus,\n.obsidian-dev-utils input[type=url]:active,\n.obsidian-dev-utils input[type=url]:focus,\n.obsidian-dev-utils input[type=week]:active,\n.obsidian-dev-utils input[type=week]:focus {\n border-color: var(--background-modifier-border-focus);\n transition: box-shadow 0.15s ease-in-out, border 0.15s ease-in-out;\n}\n.obsidian-dev-utils input[type=month]:active, .obsidian-dev-utils input[type=month]:focus, .obsidian-dev-utils input[type=month]:focus-visible,\n.obsidian-dev-utils input[type=tel]:active,\n.obsidian-dev-utils input[type=tel]:focus,\n.obsidian-dev-utils input[type=tel]:focus-visible,\n.obsidian-dev-utils input[type=time]:active,\n.obsidian-dev-utils input[type=time]:focus,\n.obsidian-dev-utils input[type=time]:focus-visible,\n.obsidian-dev-utils input[type=url]:active,\n.obsidian-dev-utils input[type=url]:focus,\n.obsidian-dev-utils input[type=url]:focus-visible,\n.obsidian-dev-utils input[type=week]:active,\n.obsidian-dev-utils input[type=week]:focus,\n.obsidian-dev-utils input[type=week]:focus-visible {\n box-shadow: 0 0 0 2px var(--background-modifier-border-focus);\n}\n.obsidian-dev-utils input[type=month]::placeholder,\n.obsidian-dev-utils input[type=tel]::placeholder,\n.obsidian-dev-utils input[type=time]::placeholder,\n.obsidian-dev-utils input[type=url]::placeholder,\n.obsidian-dev-utils input[type=week]::placeholder {\n color: var(--text-faint);\n}\n.mod-rtl input[type=month],\n.mod-rtl input[type=time],\n.mod-rtl input[type=week],\n.is-rtl input[type=month],\n.is-rtl input[type=time],\n.is-rtl input[type=week],\n.rtl input[type=month],\n.rtl input[type=time],\n.rtl input[type=week] {\n direction: rtl;\n}\n.mod-rtl input[type=month]::-webkit-calendar-picker-indicator,\n.mod-rtl input[type=time]::-webkit-calendar-picker-indicator,\n.mod-rtl input[type=week]::-webkit-calendar-picker-indicator,\n.is-rtl input[type=month]::-webkit-calendar-picker-indicator,\n.is-rtl input[type=time]::-webkit-calendar-picker-indicator,\n.is-rtl input[type=week]::-webkit-calendar-picker-indicator,\n.rtl input[type=month]::-webkit-calendar-picker-indicator,\n.rtl input[type=time]::-webkit-calendar-picker-indicator,\n.rtl input[type=week]::-webkit-calendar-picker-indicator {\n right: var(--size-4-1);\n left: auto;\n}\n\n.obsidian-dev-utils input[type=month],\n.obsidian-dev-utils input[type=time],\n.obsidian-dev-utils input[type=week] {\n font-variant-numeric: tabular-nums;\n position: relative;\n}\n.obsidian-dev-utils input[type=month]::-webkit-datetime-edit-text,\n.obsidian-dev-utils input[type=time]::-webkit-datetime-edit-text,\n.obsidian-dev-utils input[type=week]::-webkit-datetime-edit-text {\n color: var(--text-faint);\n padding-inline-end: 0;\n}\n.obsidian-dev-utils input[type=month]::-webkit-calendar-picker-indicator,\n.obsidian-dev-utils input[type=time]::-webkit-calendar-picker-indicator,\n.obsidian-dev-utils input[type=week]::-webkit-calendar-picker-indicator {\n position: absolute;\n left: var(--size-4-1);\n right: auto;\n opacity: 0.5;\n}\n.obsidian-dev-utils input[type=month]::-webkit-datetime-edit-month-field:active, .obsidian-dev-utils input[type=month]::-webkit-datetime-edit-month-field:focus, .obsidian-dev-utils input[type=month]::-webkit-datetime-edit-day-field:active, .obsidian-dev-utils input[type=month]::-webkit-datetime-edit-day-field:focus, .obsidian-dev-utils input[type=month]::-webkit-datetime-edit-year-field:active, .obsidian-dev-utils input[type=month]::-webkit-datetime-edit-year-field:focus,\n.obsidian-dev-utils input[type=time]::-webkit-datetime-edit-month-field:active,\n.obsidian-dev-utils input[type=time]::-webkit-datetime-edit-month-field:focus,\n.obsidian-dev-utils input[type=time]::-webkit-datetime-edit-day-field:active,\n.obsidian-dev-utils input[type=time]::-webkit-datetime-edit-day-field:focus,\n.obsidian-dev-utils input[type=time]::-webkit-datetime-edit-year-field:active,\n.obsidian-dev-utils input[type=time]::-webkit-datetime-edit-year-field:focus,\n.obsidian-dev-utils input[type=week]::-webkit-datetime-edit-month-field:active,\n.obsidian-dev-utils input[type=week]::-webkit-datetime-edit-month-field:focus,\n.obsidian-dev-utils input[type=week]::-webkit-datetime-edit-day-field:active,\n.obsidian-dev-utils input[type=week]::-webkit-datetime-edit-day-field:focus,\n.obsidian-dev-utils input[type=week]::-webkit-datetime-edit-year-field:active,\n.obsidian-dev-utils input[type=week]::-webkit-datetime-edit-year-field:focus {\n background-color: var(--text-selection);\n color: var(--text-normal);\n cursor: text;\n}\n.mod-rtl .obsidian-dev-utils input[type=month], .is-rtl .obsidian-dev-utils input[type=month], .rtl .obsidian-dev-utils input[type=month],\n.mod-rtl .obsidian-dev-utils input[type=time],\n.is-rtl .obsidian-dev-utils input[type=time],\n.rtl .obsidian-dev-utils input[type=time],\n.mod-rtl .obsidian-dev-utils input[type=week],\n.is-rtl .obsidian-dev-utils input[type=week],\n.rtl .obsidian-dev-utils input[type=week] {\n direction: rtl;\n}\n.mod-rtl .obsidian-dev-utils input[type=month]::-webkit-calendar-picker-indicator, .is-rtl .obsidian-dev-utils input[type=month]::-webkit-calendar-picker-indicator, .rtl .obsidian-dev-utils input[type=month]::-webkit-calendar-picker-indicator,\n.mod-rtl .obsidian-dev-utils input[type=time]::-webkit-calendar-picker-indicator,\n.is-rtl .obsidian-dev-utils input[type=time]::-webkit-calendar-picker-indicator,\n.rtl .obsidian-dev-utils input[type=time]::-webkit-calendar-picker-indicator,\n.mod-rtl .obsidian-dev-utils input[type=week]::-webkit-calendar-picker-indicator,\n.is-rtl .obsidian-dev-utils input[type=week]::-webkit-calendar-picker-indicator,\n.rtl .obsidian-dev-utils input[type=week]::-webkit-calendar-picker-indicator {\n left: auto;\n right: var(--size-4-1);\n}\n\nbody:not(.is-ios):not(.is-android) .obsidian-dev-utils input[type=month],\nbody:not(.is-ios):not(.is-android) .obsidian-dev-utils input[type=time],\nbody:not(.is-ios):not(.is-android) .obsidian-dev-utils input[type=week] {\n padding-inline-start: var(--size-4-6);\n}\n\n.obsidian-dev-utils input[type=time]::-webkit-calendar-picker-indicator {\n margin-inline-start: 0;\n}\n\n.obsidian-dev-utilsprogress.loop {\n min-width: 200px;\n}\n\n.obsidian-dev-utils.modal-container .ok-button {\n margin-right: 10px;\n margin-top: 20px;\n}\n\n.obsidian-dev-utils .multiple-dropdown-component select,\n.obsidian-dev-utils .multiple-dropdown-component select:focus,\n.obsidian-dev-utils .multiple-dropdown-component .dropdown {\n height: auto;\n padding-top: 3px;\n}\n.obsidian-dev-utils .multiple-dropdown-component select option:checked,\n.obsidian-dev-utils .multiple-dropdown-component select:focus option:checked,\n.obsidian-dev-utils .multiple-dropdown-component .dropdown option:checked {\n background-color: #1967d2;\n color: #fff;\n}\n\n.obsidian-dev-utils.plugin-settings-tab a:focus {\n outline: 2px solid var(--link-color);\n}\n\n.obsidian-dev-utils.prompt-modal .text-box {\n width: 100%;\n}\n\n.obsidian-dev-utils.tri-state-checkbox-component input[type=checkbox]:indeterminate {\n appearance: checkbox;\n}\n\n.obsidian-dev-utils :invalid {\n box-shadow: 0 0 0 2px var(--text-error);\n}\n.obsidian-dev-utils input.metadata-input-text:active:invalid, .obsidian-dev-utils input.metadata-input-text:focus-visible:invalid, .obsidian-dev-utils input.metadata-input-text:focus:invalid,\n.obsidian-dev-utils input[type=date]:active:invalid,\n.obsidian-dev-utils input[type=date]:focus-visible:invalid,\n.obsidian-dev-utils input[type=date]:focus:invalid,\n.obsidian-dev-utils input[type=datetime-local]:active:invalid,\n.obsidian-dev-utils input[type=datetime-local]:focus-visible:invalid,\n.obsidian-dev-utils input[type=datetime-local]:focus:invalid,\n.obsidian-dev-utils input[type=email]:active:invalid,\n.obsidian-dev-utils input[type=email]:focus-visible:invalid,\n.obsidian-dev-utils input[type=email]:focus:invalid,\n.obsidian-dev-utils input[type=number]:active:invalid,\n.obsidian-dev-utils input[type=number]:focus-visible:invalid,\n.obsidian-dev-utils input[type=number]:focus:invalid,\n.obsidian-dev-utils input[type=password]:active:invalid,\n.obsidian-dev-utils input[type=password]:focus-visible:invalid,\n.obsidian-dev-utils input[type=password]:focus:invalid,\n.obsidian-dev-utils input[type=search]:active:invalid,\n.obsidian-dev-utils input[type=search]:focus-visible:invalid,\n.obsidian-dev-utils input[type=search]:focus:invalid,\n.obsidian-dev-utils input[type=text]:active:invalid,\n.obsidian-dev-utils input[type=text]:focus-visible:invalid,\n.obsidian-dev-utils input[type=text]:focus:invalid,\n.obsidian-dev-utils textarea:active:invalid,\n.obsidian-dev-utils textarea:focus-visible:invalid,\n.obsidian-dev-utils textarea:focus:invalid {\n box-shadow: 0 0 0 2px var(--text-error);\n}\n.obsidian-dev-utils.setting-component-wrapper {\n position: relative;\n display: inline-flex;\n}\n.obsidian-dev-utils.overlay-validator {\n caret-color: transparent;\n cursor: default;\n position: absolute;\n background-color: transparent;\n border: none;\n outline: none;\n pointer-events: none;\n z-index: 9999;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n}\n.obsidian-dev-utils.tooltip.tooltip-validator {\n position: absolute;\n top: calc(100% + 8px);\n width: max-content;\n}\n\n/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../src/styles/code-highlighter-component.scss%22,%22../src/styles/input.scss%22,%22../src/styles/input-time.scss%22,%22../src/styles/loop.scss%22,%22../src/styles/modal-container.scss%22,%22../src/styles/multiple-dropdown-component.scss%22,%22../src/styles/plugin-settings-tab.scss%22,%22../src/styles/prompt-modal.scss%22,%22../src/styles/tri-state-checkbox-component.scss%22,%22../src/styles/validation.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAEI;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;;ACzCJ;EACE;;AAGF;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGE;EACE;AAAA;AAAA;AAAA;AAAA;IACE;IACA,YACE;;;AAMR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;EACA,YACE;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGE;;AAGF;AAAA;AAAA;AAAA;AAAA;EACE;;AASE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGE;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;;;AC7DV;AAAA;AAAA;EAGE;EACA;;AAEA;AAAA;AAAA;EACE;EACA;;AAGF;AAAA;AAAA;EACE;EACA;EACA;EACA;;AAMA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;EACA;EACA;;AAIK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGP;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;;;AAKF;AAAA;AAAA;EACE;;;AAMJ;EACE;;;ACjDJ;EACE;;;ACAA;EACE;EACA;;;ACFF;AAAA;AAAA;EAGE;EACA;;AAEA;AAAA;AAAA;EACE;EACA;;;ACRJ;EACE;;;ACDF;EACE;;;ACDF;EACE;;;ACEJ;EAJA;;AAoBI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EApBJ;;AA0BA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA%22,%22file%22:%22styles.css%22,%22sourcesContent%22:%5B%22.obsidian-dev-utils%20%7B%5Cn%20%20&.code-highlighter-component%20%7B%5Cn%20%20%20%20textarea,%20pre,%20code%20%7B%5Cn%20%20%20%20%20%20font-family:%20var(--font-monospace);%5Cn%20%20%20%20%20%20line-height:%20var(--line-height-normal);%5Cn%20%20%20%20%20%20margin:%200;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20textarea,%20code%20%7B%5Cn%20%20%20%20%20%20font-size:%20var(--code-size);%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20textarea%20%7B%5Cn%20%20%20%20%20%20background:%20transparent;%5Cn%20%20%20%20%20%20color:%20transparent;%5Cn%20%20%20%20%20%20z-index:%202;%5Cn%20%20%20%20%20%20width:%2020em;%5Cn%20%20%20%20%20%20height:%2010em;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20pre%20%7B%5Cn%20%20%20%20%20%20position:%20absolute;%5Cn%20%20%20%20%20%20pointer-events:%20none;%5Cn%20%20%20%20%20%20border:%20var(--input-border-width)%20solid%20transparent;%5Cn%20%20%20%20%20%20overflow:%20auto;%5Cn%20%20%20%20%20%20inset:%200;%5Cn%20%20%20%20%20%20padding:%20var(--size-4-1)%20var(--size-4-2);%5Cn%20%20%20%20%20%20z-index:%201;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20pre::after%20%7B%5Cn%20%20%20%20%20%20content:%20%5C%22%5C%22;%5Cn%20%20%20%20%20%20display:%20block;%5Cn%20%20%20%20%20%20height:%20var(--bottom-gap,%200);%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20pre.is-placeholder%20%7B%5Cn%20%20%20%20%20%20opacity:%200.6;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20code%20%7B%5Cn%20%20%20%20%20%20display:%20block;%5Cn%20%20%20%20%20%20padding:%200;%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20input%5Btype='url'%5D%20%7B%5Cn%20%20%20%20height:%20var(--input-height)%5Cn%20%20%7D%5Cn%5Cn%20%20input%5Btype='month'%5D,%5Cn%20%20input%5Btype='tel'%5D,%5Cn%20%20input%5Btype='time'%5D,%5Cn%20%20input%5Btype='url'%5D,%5Cn%20%20input%5Btype='week'%5D%20%7B%5Cn%20%20%20%20-webkit-app-region:%20no-drag;%5Cn%20%20%20%20background:%20var(--background-modifier-form-field);%5Cn%20%20%20%20border:%20var(--input-border-width)%20solid%20var(--background-modifier-border);%5Cn%20%20%20%20color:%20var(--text-normal);%5Cn%20%20%20%20font-family:%20inherit;%5Cn%20%20%20%20padding:%20var(--size-4-1)%20var(--size-4-2);%5Cn%20%20%20%20font-size:%20var(--font-ui-small);%5Cn%20%20%20%20border-radius:%20var(--input-radius);%5Cn%20%20%20%20outline:%20none;%5Cn%5Cn%20%20%20%20@at-root%20%7B%5Cn%20%20%20%20%20%20@media%20(hover:%20hover)%20%7B%5Cn%20%20%20%20%20%20%20%20&:hover%20%7B%5Cn%20%20%20%20%20%20%20%20%20%20border-color:%20var(--background-modifier-border-hover);%5Cn%20%20%20%20%20%20%20%20%20%20transition:%5Cn%20%20%20%20%20%20%20%20%20%20%20%20box-shadow%200.15s%20ease-in-out,%5Cn%20%20%20%20%20%20%20%20%20%20%20%20border%200.15s%20ease-in-out;%5Cn%20%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20&:active,%5Cn%20%20%20%20&:focus%20%7B%5Cn%20%20%20%20%20%20border-color:%20var(--background-modifier-border-focus);%5Cn%20%20%20%20%20%20transition:%5Cn%20%20%20%20%20%20%20%20box-shadow%200.15s%20ease-in-out,%5Cn%20%20%20%20%20%20%20%20border%200.15s%20ease-in-out;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20&:active,%5Cn%20%20%20%20&:focus,%5Cn%20%20%20%20&:focus-visible%20%7B%5Cn%20%20%20%20%20%20box-shadow:%200%200%200%202px%20var(--background-modifier-border-focus);%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20&::placeholder%20%7B%5Cn%20%20%20%20%20%20color:%20var(--text-faint);%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%5Cn%20%20@at-root%20%7B%5Cn%20%20%20%20.mod-rtl,%5Cn%20%20%20%20.is-rtl,%5Cn%20%20%20%20.rtl%20%7B%5Cn%20%20%20%20%20%20&%20%7B%5Cn%20%20%20%20%20%20%20%20input%5Btype='month'%5D,%5Cn%20%20%20%20%20%20%20%20input%5Btype='time'%5D,%5Cn%20%20%20%20%20%20%20%20input%5Btype='week'%5D%20%7B%5Cn%20%20%20%20%20%20%20%20%20%20direction:%20rtl;%5Cn%5Cn%20%20%20%20%20%20%20%20%20%20&::-webkit-calendar-picker-indicator%20%7B%5Cn%20%20%20%20%20%20%20%20%20%20%20%20right:%20var(--size-4-1);%5Cn%20%20%20%20%20%20%20%20%20%20%20%20left:%20auto;%5Cn%20%20%20%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20input%5Btype='month'%5D,%5Cn%20%20input%5Btype='time'%5D,%5Cn%20%20input%5Btype='week'%5D%20%7B%5Cn%20%20%20%20font-variant-numeric:%20tabular-nums;%5Cn%20%20%20%20position:%20relative;%5Cn%5Cn%20%20%20%20&::-webkit-datetime-edit-text%20%7B%5Cn%20%20%20%20%20%20color:%20var(--text-faint);%5Cn%20%20%20%20%20%20padding-inline-end:%200;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20&::-webkit-calendar-picker-indicator%20%7B%5Cn%20%20%20%20%20%20position:%20absolute;%5Cn%20%20%20%20%20%20left:%20var(--size-4-1);%5Cn%20%20%20%20%20%20right:%20auto;%5Cn%20%20%20%20%20%20opacity:%200.5;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20&::-webkit-datetime-edit-month-field,%5Cn%20%20%20%20&::-webkit-datetime-edit-day-field,%5Cn%20%20%20%20&::-webkit-datetime-edit-year-field%20%7B%5Cn%20%20%20%20%20%20&:active,%5Cn%20%20%20%20%20%20&:focus%20%7B%5Cn%20%20%20%20%20%20%20%20background-color:%20var(--text-selection);%5Cn%20%20%20%20%20%20%20%20color:%20var(--text-normal);%5Cn%20%20%20%20%20%20%20%20cursor:%20text;%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20@at-root%20.mod-rtl%20&,%5Cn%20%20%20%20%20%20.is-rtl%20&,%5Cn%20%20%20%20%20%20.rtl%20&%20%7B%5Cn%20%20%20%20%20%20direction:%20rtl;%5Cn%5Cn%20%20%20%20%20%20&::-webkit-calendar-picker-indicator%20%7B%5Cn%20%20%20%20%20%20%20%20left:%20auto;%5Cn%20%20%20%20%20%20%20%20right:%20var(--size-4-1);%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20@at-root%20%7B%5Cn%20%20%20%20%20%20body:not(.is-ios):not(.is-android)%20&%20%7B%5Cn%20%20%20%20%20%20%20%20padding-inline-start:%20var(--size-4-6);%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%5Cn%20%20input%5Btype='time'%5D%20%7B%5Cn%20%20%20%20&::-webkit-calendar-picker-indicator%20%7B%5Cn%20%20%20%20%20%20margin-inline-start:%200;%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20&progress.loop%20%7B%5Cn%20%20%20%20min-width:%20200px;%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20&.modal-container%20%7B%5Cn%20%20%20%20.ok-button%20%7B%5Cn%20%20%20%20%20%20margin-right:%2010px;%5Cn%20%20%20%20%20%20margin-top:%2020px;%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20.multiple-dropdown-component%20%7B%5Cn%20%20%20%20select,%5Cn%20%20%20%20select:focus,%5Cn%20%20%20%20.dropdown%20%7B%5Cn%20%20%20%20%20%20height:%20auto;%5Cn%20%20%20%20%20%20padding-top:%203px;%5Cn%5Cn%20%20%20%20%20%20option:checked%20%7B%5Cn%20%20%20%20%20%20%20%20background-color:%20%231967d2;%5Cn%20%20%20%20%20%20%20%20color:%20%23fff;%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20&.plugin-settings-tab%20%7B%5Cn%20%20%20%20a:focus%20%7B%5Cn%20%20%20%20%20%20outline:%202px%20solid%20var(--link-color);%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20&.prompt-modal%20%7B%5Cn%20%20%20%20.text-box%20%7B%5Cn%20%20%20%20%20%20width:%20100%25;%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cr%5Cn%20%20&.tri-state-checkbox-component%20%7B%5Cr%5Cn%20%20%20%20input%5Btype='checkbox'%5D:indeterminate%20%7B%5Cr%5Cn%20%20%20%20%20%20appearance:%20checkbox;%5Cr%5Cn%20%20%20%20%7D%5Cr%5Cn%20%20%7D%5Cr%5Cn%7D%5Cr%5Cn%22,%22@mixin%20invalid%20%7B%5Cn%20%20box-shadow:%200%200%200%202px%20var(--text-error);%5Cn%7D%5Cn%5Cn.obsidian-dev-utils%20%7B%5Cn%20%20:invalid%20%7B%5Cn%20%20%20%20@include%20invalid;%5Cn%20%20%7D%5Cn%5Cn%20%20input.metadata-input-text,%5Cn%20%20input%5Btype='date'%5D,%5Cn%20%20input%5Btype='datetime-local'%5D,%5Cn%20%20input%5Btype='email'%5D,%5Cn%20%20input%5Btype='number'%5D,%5Cn%20%20input%5Btype='password'%5D,%5Cn%20%20input%5Btype='search'%5D,%5Cn%20%20input%5Btype='text'%5D,%5Cn%20%20textarea%20%7B%5Cn%20%20%20%20&:active,%5Cn%20%20%20%20&:focus-visible,%5Cn%20%20%20%20&:focus%20%7B%5Cn%20%20%20%20%20%20&:invalid%20%7B%5Cn%20%20%20%20%20%20%20%20@include%20invalid;%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%5Cn%20%20&.setting-component-wrapper%20%7B%5Cn%20%20%20%20position:%20relative;%5Cn%20%20%20%20display:%20inline-flex;%5Cn%20%20%7D%5Cn%5Cn%20%20&.overlay-validator%20%7B%5Cn%20%20%20%20caret-color:%20transparent;%5Cn%20%20%20%20cursor:%20default;%5Cn%20%20%20%20position:%20absolute;%5Cn%20%20%20%20background-color:%20transparent;%5Cn%20%20%20%20border:%20none;%5Cn%20%20%20%20outline:%20none;%5Cn%20%20%20%20pointer-events:%20none;%5Cn%20%20%20%20z-index:%209999;%5Cn%20%20%20%20left:%200;%5Cn%20%20%20%20top:%200;%5Cn%20%20%20%20width:%20100%25;%5Cn%20%20%20%20height:%20100%25;%5Cn%20%20%7D%5Cn%5Cn%20%20&.tooltip.tooltip-validator%20%7B%5Cn%20%20%20%20position:%20absolute;%5Cn%20%20%20%20top:%20calc(100%25%20+%208px);%5Cn%20%20%20%20width:%20max-content;%5Cn%20%20%7D%5Cn%7D%5Cn%22%5D%7D */\n";
|
|
25
25
|
export {
|
|
@@ -4,38 +4,63 @@
|
|
|
4
4
|
* Base classes for abstract file commands.
|
|
5
5
|
*/
|
|
6
6
|
import type { IconName, Plugin, TAbstractFile, WorkspaceLeaf } from 'obsidian';
|
|
7
|
+
import type { CommandBaseOptions } from './CommandBase.mjs';
|
|
7
8
|
import { CommandInvocationBase } from './CommandBase.mjs';
|
|
8
9
|
import { NonEditorCommandBase } from './NonEditorCommandBase.mjs';
|
|
9
10
|
/**
|
|
10
|
-
*
|
|
11
|
+
* Options for creating an abstract file command.
|
|
11
12
|
*
|
|
12
13
|
* @typeParam TPlugin - The type of the plugin that the command belongs to.
|
|
13
14
|
*/
|
|
14
|
-
export
|
|
15
|
+
export interface AbstractFileCommandBaseOptions<TPlugin extends Plugin> extends CommandBaseOptions<TPlugin> {
|
|
15
16
|
/**
|
|
16
17
|
* The item name to use in the file menu.
|
|
17
18
|
*/
|
|
18
|
-
|
|
19
|
+
fileMenuItemName?: string | undefined;
|
|
19
20
|
/**
|
|
20
21
|
* The section to use in the file menu.
|
|
21
22
|
*/
|
|
22
|
-
|
|
23
|
+
fileMenuSection?: string | undefined;
|
|
23
24
|
/**
|
|
24
25
|
* The icon to use in the file menu submenu.
|
|
25
26
|
*/
|
|
26
|
-
|
|
27
|
+
fileMenuSubmenuIcon?: IconName | undefined;
|
|
27
28
|
/**
|
|
28
29
|
* The item name to use in the files menu.
|
|
29
30
|
*/
|
|
30
|
-
|
|
31
|
+
filesMenuItemName?: string | undefined;
|
|
31
32
|
/**
|
|
32
33
|
* The section to use in the files menu.
|
|
33
34
|
*/
|
|
34
|
-
|
|
35
|
+
filesMenuSection?: string | undefined;
|
|
35
36
|
/**
|
|
36
37
|
* The icon to use in the files menu submenu.
|
|
37
38
|
*/
|
|
38
|
-
|
|
39
|
+
filesMenuSubmenuIcon?: IconName | undefined;
|
|
40
|
+
/**
|
|
41
|
+
* Whether to add the command to the submenu.
|
|
42
|
+
*/
|
|
43
|
+
shouldAddCommandToSubmenu?: boolean | undefined;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Base class for abstract file commands.
|
|
47
|
+
*
|
|
48
|
+
* @typeParam TPlugin - The type of the plugin that the command belongs to.
|
|
49
|
+
*/
|
|
50
|
+
export declare abstract class AbstractFileCommandBase<TPlugin extends Plugin = Plugin> extends NonEditorCommandBase<TPlugin> {
|
|
51
|
+
private readonly fileMenuItemName?;
|
|
52
|
+
private readonly fileMenuSection?;
|
|
53
|
+
private readonly fileMenuSubmenuIcon?;
|
|
54
|
+
private readonly filesMenuItemName?;
|
|
55
|
+
private readonly filesMenuSection?;
|
|
56
|
+
private readonly filesMenuSubmenuIcon?;
|
|
57
|
+
private readonly shouldAddCommandToSubmenu?;
|
|
58
|
+
/**
|
|
59
|
+
* Creates a new abstract file command.
|
|
60
|
+
*
|
|
61
|
+
* @param options - The options for the abstract file command.
|
|
62
|
+
*/
|
|
63
|
+
constructor(options: AbstractFileCommandBaseOptions<TPlugin>);
|
|
39
64
|
/**
|
|
40
65
|
* Checks if the command can execute or executes it.
|
|
41
66
|
*
|
|
@@ -22,30 +22,28 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
22
22
|
import { CommandInvocationBase } from "./CommandBase.mjs";
|
|
23
23
|
import { NonEditorCommandBase } from "./NonEditorCommandBase.mjs";
|
|
24
24
|
class AbstractFileCommandBase extends NonEditorCommandBase {
|
|
25
|
-
/**
|
|
26
|
-
* The item name to use in the file menu.
|
|
27
|
-
*/
|
|
28
25
|
fileMenuItemName;
|
|
29
|
-
/**
|
|
30
|
-
* The section to use in the file menu.
|
|
31
|
-
*/
|
|
32
26
|
fileMenuSection;
|
|
33
|
-
/**
|
|
34
|
-
* The icon to use in the file menu submenu.
|
|
35
|
-
*/
|
|
36
27
|
fileMenuSubmenuIcon;
|
|
37
|
-
/**
|
|
38
|
-
* The item name to use in the files menu.
|
|
39
|
-
*/
|
|
40
28
|
filesMenuItemName;
|
|
41
|
-
/**
|
|
42
|
-
* The section to use in the files menu.
|
|
43
|
-
*/
|
|
44
29
|
filesMenuSection;
|
|
30
|
+
filesMenuSubmenuIcon;
|
|
31
|
+
shouldAddCommandToSubmenu;
|
|
45
32
|
/**
|
|
46
|
-
*
|
|
33
|
+
* Creates a new abstract file command.
|
|
34
|
+
*
|
|
35
|
+
* @param options - The options for the abstract file command.
|
|
47
36
|
*/
|
|
48
|
-
|
|
37
|
+
constructor(options) {
|
|
38
|
+
super(options);
|
|
39
|
+
this.fileMenuItemName = options.fileMenuItemName;
|
|
40
|
+
this.fileMenuSection = options.fileMenuSection;
|
|
41
|
+
this.fileMenuSubmenuIcon = options.fileMenuSubmenuIcon;
|
|
42
|
+
this.filesMenuItemName = options.filesMenuItemName;
|
|
43
|
+
this.filesMenuSection = options.filesMenuSection;
|
|
44
|
+
this.filesMenuSubmenuIcon = options.filesMenuSubmenuIcon;
|
|
45
|
+
this.shouldAddCommandToSubmenu = options.shouldAddCommandToSubmenu;
|
|
46
|
+
}
|
|
49
47
|
/**
|
|
50
48
|
* Checks if the command can execute or executes it.
|
|
51
49
|
*
|
|
@@ -127,14 +125,14 @@ class AbstractFileCommandBase extends NonEditorCommandBase {
|
|
|
127
125
|
return;
|
|
128
126
|
}
|
|
129
127
|
let fileMenuSection = this.fileMenuSection;
|
|
130
|
-
if (this.
|
|
131
|
-
fileMenuSection ??= "";
|
|
132
|
-
} else {
|
|
128
|
+
if (this.shouldAddCommandToSubmenu) {
|
|
133
129
|
fileMenuSection ??= this.plugin.manifest.name;
|
|
134
130
|
menu.setSectionSubmenu(fileMenuSection, {
|
|
135
|
-
icon: this.fileMenuSubmenuIcon,
|
|
131
|
+
icon: this.fileMenuSubmenuIcon ?? "",
|
|
136
132
|
title: fileMenuSection
|
|
137
133
|
});
|
|
134
|
+
} else {
|
|
135
|
+
fileMenuSection ??= "";
|
|
138
136
|
}
|
|
139
137
|
menu.addItem((item) => {
|
|
140
138
|
item.setTitle(this.fileMenuItemName ?? this.originalName).setIcon(this.icon).setSection(fileMenuSection).onClick(() => this.createCommandInvocation(abstractFile).invoke(false));
|
|
@@ -276,4 +274,4 @@ export {
|
|
|
276
274
|
ArrayDelegatingAbstractFileCommandInvocation,
|
|
277
275
|
SequentialAbstractFilesCommandInvocationBase
|
|
278
276
|
};
|
|
279
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NvbW1hbmRzL0Fic3RyYWN0RmlsZUNvbW1hbmRCYXNlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIEJhc2UgY2xhc3NlcyBmb3IgYWJzdHJhY3QgZmlsZSBjb21tYW5kcy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIEljb25OYW1lLFxuICBNZW51LFxuICBQbHVnaW4sXG4gIFRBYnN0cmFjdEZpbGUsXG4gIFdvcmtzcGFjZUxlYWZcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBDb21tYW5kSW52b2NhdGlvbkJhc2UgfSBmcm9tICcuL0NvbW1hbmRCYXNlLnRzJztcbmltcG9ydCB7IE5vbkVkaXRvckNvbW1hbmRCYXNlIH0gZnJvbSAnLi9Ob25FZGl0b3JDb21tYW5kQmFzZS50cyc7XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgYWJzdHJhY3QgZmlsZSBjb21tYW5kcy5cbiAqXG4gKiBAdHlwZVBhcmFtIFRQbHVnaW4gLSBUaGUgdHlwZSBvZiB0aGUgcGx1Z2luIHRoYXQgdGhlIGNvbW1hbmQgYmVsb25ncyB0by5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0RmlsZUNvbW1hbmRCYXNlPFRQbHVnaW4gZXh0ZW5kcyBQbHVnaW4gPSBQbHVnaW4+IGV4dGVuZHMgTm9uRWRpdG9yQ29tbWFuZEJhc2U8VFBsdWdpbj4ge1xuICAvKipcbiAgICogVGhlIGl0ZW0gbmFtZSB0byB1c2UgaW4gdGhlIGZpbGUgbWVudS5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBmaWxlTWVudUl0ZW1OYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2VjdGlvbiB0byB1c2UgaW4gdGhlIGZpbGUgbWVudS5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBmaWxlTWVudVNlY3Rpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBpY29uIHRvIHVzZSBpbiB0aGUgZmlsZSBtZW51IHN1Ym1lbnUuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmlsZU1lbnVTdWJtZW51SWNvbj86IEljb25OYW1lO1xuXG4gIC8qKlxuICAgKiBUaGUgaXRlbSBuYW1lIHRvIHVzZSBpbiB0aGUgZmlsZXMgbWVudS5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBmaWxlc01lbnVJdGVtTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNlY3Rpb24gdG8gdXNlIGluIHRoZSBmaWxlcyBtZW51LlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGZpbGVzTWVudVNlY3Rpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBpY29uIHRvIHVzZSBpbiB0aGUgZmlsZXMgbWVudSBzdWJtZW51LlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGZpbGVzTWVudVN1Ym1lbnVJY29uPzogSWNvbk5hbWU7XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZSBvciBleGVjdXRlcyBpdC5cbiAgICpcbiAgICogQHBhcmFtIGNoZWNraW5nIC0gSXMgY2hlY2tpbmcgbW9kZSBvbmx5LiBJZiBgdHJ1ZWAsIG9ubHkgdGhlIGNoZWNrIGlmIHRoZSBjb21tYW5kIGNhbiBleGVjdXRlIGlzIHBlcmZvcm1lZC4gSWYgYGZhbHNlYCwgdGhlIGNvbW1hbmQgaXMgZXhlY3V0ZWQuXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGNvbW1hbmQgY2FuIGV4ZWN1dGUuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgY2hlY2tDYWxsYmFjayhjaGVja2luZzogYm9vbGVhbik6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5zaG91bGRBZGRUb0NvbW1hbmRQYWxldHRlKCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHN1cGVyLmNoZWNrQ2FsbGJhY2soY2hlY2tpbmcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyB0aGUgY29tbWFuZC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSByZWdpc3RlcigpOiB2b2lkIHtcbiAgICBzdXBlci5yZWdpc3RlcigpO1xuICAgIHRoaXMucGx1Z2luLnJlZ2lzdGVyRXZlbnQodGhpcy5hcHAud29ya3NwYWNlLm9uKCdmaWxlLW1lbnUnLCB0aGlzLmhhbmRsZUFic3RyYWN0RmlsZU1lbnUuYmluZCh0aGlzKSkpO1xuICAgIHRoaXMucGx1Z2luLnJlZ2lzdGVyRXZlbnQodGhpcy5hcHAud29ya3NwYWNlLm9uKCdmaWxlcy1tZW51JywgdGhpcy5oYW5kbGVBYnN0cmFjdEZpbGVzTWVudS5iaW5kKHRoaXMpKSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBmaWxlIGNvbW1hbmQgaW52b2NhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIGFic3RyYWN0RmlsZSAtIFRoZSBhYnN0cmFjdCBmaWxlIHRvIGNyZWF0ZSB0aGUgY29tbWFuZCBpbnZvY2F0aW9uIGZvci5cbiAgICogQHJldHVybnMgVGhlIGNvbW1hbmQgaW52b2NhdGlvbi5cbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBjcmVhdGVDb21tYW5kSW52b2NhdGlvbihhYnN0cmFjdEZpbGU/OiBUQWJzdHJhY3RGaWxlKTogQWJzdHJhY3RGaWxlQ29tbWFuZEludm9jYXRpb25CYXNlPFRQbHVnaW4+IHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGVDb21tYW5kSW52b2NhdGlvbkZvckFic3RyYWN0RmlsZShhYnN0cmFjdEZpbGUgPz8gdGhpcy5hcHAud29ya3NwYWNlLmdldEFjdGl2ZUZpbGUoKSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBjb21tYW5kIGludm9jYXRpb24gZm9yIGFuIGFic3RyYWN0IGZpbGUuXG4gICAqXG4gICAqIEBwYXJhbSBhYnN0cmFjdEZpbGUgLSBUaGUgYWJzdHJhY3QgZmlsZSB0byBjcmVhdGUgdGhlIGNvbW1hbmQgaW52b2NhdGlvbiBmb3IuXG4gICAqIEByZXR1cm5zIFRoZSBjb21tYW5kIGludm9jYXRpb24uXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgY3JlYXRlQ29tbWFuZEludm9jYXRpb25Gb3JBYnN0cmFjdEZpbGUoYWJzdHJhY3RGaWxlOiBudWxsIHwgVEFic3RyYWN0RmlsZSk6IEFic3RyYWN0RmlsZUNvbW1hbmRJbnZvY2F0aW9uQmFzZTxUUGx1Z2luPjtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBjb21tYW5kIGludm9jYXRpb24gZm9yIGFic3RyYWN0IGZpbGVzLlxuICAgKlxuICAgKiBAcGFyYW0gYWJzdHJhY3RGaWxlcyAtIFRoZSBhYnN0cmFjdCBmaWxlcyB0byBjcmVhdGUgdGhlIGNvbW1hbmQgaW52b2NhdGlvbiBmb3IuXG4gICAqIEByZXR1cm5zIFRoZSBjb21tYW5kIGludm9jYXRpb24uXG4gICAqL1xuICBwcm90ZWN0ZWQgY3JlYXRlQ29tbWFuZEludm9jYXRpb25Gb3JBYnN0cmFjdEZpbGVzKGFic3RyYWN0RmlsZXM6IFRBYnN0cmFjdEZpbGVbXSk6IEFic3RyYWN0RmlsZXNDb21tYW5kSW52b2NhdGlvbkJhc2U8VFBsdWdpbj4ge1xuICAgIHJldHVybiBuZXcgU2VxdWVudGlhbEFic3RyYWN0RmlsZXNDb21tYW5kSW52b2NhdGlvbkJhc2UodGhpcy5wbHVnaW4sIGFic3RyYWN0RmlsZXMsIHRoaXMuY3JlYXRlQ29tbWFuZEludm9jYXRpb25Gb3JBYnN0cmFjdEZpbGUuYmluZCh0aGlzKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBjb21tYW5kIHNob3VsZCBiZSBhZGRlZCB0byB0aGUgYWJzdHJhY3QgZmlsZSBtZW51LlxuICAgKlxuICAgKiBAcGFyYW0gX2Fic3RyYWN0RmlsZSAtIFRoZSBhYnN0cmFjdCBmaWxlIHRvIGNoZWNrLlxuICAgKiBAcGFyYW0gX3NvdXJjZSAtIFRoZSBzb3VyY2Ugb2YgdGhlIGFic3RyYWN0IGZpbGUuXG4gICAqIEBwYXJhbSBfbGVhZiAtIFRoZSBsZWFmIHRvIGNoZWNrLlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBjb21tYW5kIHNob3VsZCBiZSBhZGRlZCB0byB0aGUgYWJzdHJhY3QgZmlsZSBtZW51LlxuICAgKi9cbiAgcHJvdGVjdGVkIHNob3VsZEFkZFRvQWJzdHJhY3RGaWxlTWVudShfYWJzdHJhY3RGaWxlOiBUQWJzdHJhY3RGaWxlLCBfc291cmNlOiBzdHJpbmcsIF9sZWFmPzogV29ya3NwYWNlTGVhZik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIGNvbW1hbmQgc2hvdWxkIGJlIGFkZGVkIHRvIHRoZSBhYnN0cmFjdCBmaWxlcyBtZW51LlxuICAgKlxuICAgKiBAcGFyYW0gYWJzdHJhY3RGaWxlcyAtIFRoZSBhYnN0cmFjdCBmaWxlcyB0byBjaGVjay5cbiAgICogQHBhcmFtIHNvdXJjZSAtIFRoZSBzb3VyY2Ugb2YgdGhlIGFic3RyYWN0IGZpbGVzLlxuICAgKiBAcGFyYW0gbGVhZiAtIFRoZSBsZWFmIHRvIGNoZWNrLlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBjb21tYW5kIHNob3VsZCBiZSBhZGRlZCB0byB0aGUgYWJzdHJhY3QgZmlsZXMgbWVudS5cbiAgICovXG4gIHByb3RlY3RlZCBzaG91bGRBZGRUb0Fic3RyYWN0RmlsZXNNZW51KGFic3RyYWN0RmlsZXM6IFRBYnN0cmFjdEZpbGVbXSwgc291cmNlOiBzdHJpbmcsIGxlYWY/OiBXb3Jrc3BhY2VMZWFmKTogYm9vbGVhbiB7XG4gICAgZm9yIChjb25zdCBhYnN0cmFjdEZpbGUgb2YgYWJzdHJhY3RGaWxlcykge1xuICAgICAgaWYgKCF0aGlzLnNob3VsZEFkZFRvQWJzdHJhY3RGaWxlTWVudShhYnN0cmFjdEZpbGUsIHNvdXJjZSwgbGVhZikpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgY29tbWFuZCBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIGNvbW1hbmQgcGFsZXR0ZS5cbiAgICpcbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgY29tbWFuZCBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIGNvbW1hbmQgcGFsZXR0ZS5cbiAgICovXG4gIHByb3RlY3RlZCBzaG91bGRBZGRUb0NvbW1hbmRQYWxldHRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVBYnN0cmFjdEZpbGVNZW51KG1lbnU6IE1lbnUsIGFic3RyYWN0RmlsZTogVEFic3RyYWN0RmlsZSwgc291cmNlOiBzdHJpbmcsIGxlYWY/OiBXb3Jrc3BhY2VMZWFmKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnNob3VsZEFkZFRvQWJzdHJhY3RGaWxlTWVudShhYnN0cmFjdEZpbGUsIHNvdXJjZSwgbGVhZikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuY3JlYXRlQ29tbWFuZEludm9jYXRpb24oYWJzdHJhY3RGaWxlKS5pbnZva2UodHJ1ZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgZmlsZU1lbnVTZWN0aW9uID0gdGhpcy5maWxlTWVudVNlY3Rpb247XG4gICAgaWYgKHRoaXMuZmlsZU1lbnVTdWJtZW51SWNvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBmaWxlTWVudVNlY3Rpb24gPz89ICcnO1xuICAgIH0gZWxzZSB7XG4gICAgICBmaWxlTWVudVNlY3Rpb24gPz89IHRoaXMucGx1Z2luLm1hbmlmZXN0Lm5hbWU7XG4gICAgICBtZW51LnNldFNlY3Rpb25TdWJtZW51KGZpbGVNZW51U2VjdGlvbiwge1xuICAgICAgICBpY29uOiB0aGlzLmZpbGVNZW51U3VibWVudUljb24sXG4gICAgICAgIHRpdGxlOiBmaWxlTWVudVNlY3Rpb25cbiAgICAgIH0pO1xuICAgIH1cbiAgICBtZW51LmFkZEl0ZW0oKGl0ZW0pID0+IHtcbiAgICAgIGl0ZW1cbiAgICAgICAgLnNldFRpdGxlKHRoaXMuZmlsZU1lbnVJdGVtTmFtZSA/PyB0aGlzLm9yaWdpbmFsTmFtZSlcbiAgICAgICAgLnNldEljb24odGhpcy5pY29uKVxuICAgICAgICAuc2V0U2VjdGlvbihmaWxlTWVudVNlY3Rpb24pXG4gICAgICAgIC5vbkNsaWNrKCgpID0+IHRoaXMuY3JlYXRlQ29tbWFuZEludm9jYXRpb24oYWJzdHJhY3RGaWxlKS5pbnZva2UoZmFsc2UpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlQWJzdHJhY3RGaWxlc01lbnUobWVudTogTWVudSwgYWJzdHJhY3RGaWxlczogVEFic3RyYWN0RmlsZVtdLCBzb3VyY2U6IHN0cmluZywgbGVhZj86IFdvcmtzcGFjZUxlYWYpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc2hvdWxkQWRkVG9BYnN0cmFjdEZpbGVzTWVudShhYnN0cmFjdEZpbGVzLCBzb3VyY2UsIGxlYWYpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmNyZWF0ZUNvbW1hbmRJbnZvY2F0aW9uRm9yQWJzdHJhY3RGaWxlcyhhYnN0cmFjdEZpbGVzKS5pbnZva2UodHJ1ZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgZmlsZXNNZW51U2VjdGlvbiA9IHRoaXMuZmlsZXNNZW51U2VjdGlvbiA/PyB0aGlzLmZpbGVNZW51U2VjdGlvbjtcbiAgICBjb25zdCBmaWxlc01lbnVTdWJtZW51SWNvbiA9IHRoaXMuZmlsZXNNZW51U3VibWVudUljb24gPz8gdGhpcy5maWxlTWVudVN1Ym1lbnVJY29uO1xuICAgIGlmIChmaWxlc01lbnVTdWJtZW51SWNvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBmaWxlc01lbnVTZWN0aW9uID8/PSAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgZmlsZXNNZW51U2VjdGlvbiA/Pz0gdGhpcy5wbHVnaW4ubWFuaWZlc3QubmFtZTtcbiAgICAgIG1lbnUuc2V0U2VjdGlvblN1Ym1lbnUoZmlsZXNNZW51U2VjdGlvbiwge1xuICAgICAgICBpY29uOiBmaWxlc01lbnVTdWJtZW51SWNvbixcbiAgICAgICAgdGl0bGU6IGZpbGVzTWVudVNlY3Rpb25cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIG1lbnUuYWRkSXRlbSgoaXRlbSkgPT4ge1xuICAgICAgaXRlbVxuICAgICAgICAuc2V0VGl0bGUodGhpcy5maWxlc01lbnVJdGVtTmFtZSA/PyB0aGlzLmZpbGVNZW51SXRlbU5hbWUgPz8gdGhpcy5vcmlnaW5hbE5hbWUpXG4gICAgICAgIC5zZXRJY29uKHRoaXMuaWNvbilcbiAgICAgICAgLnNldFNlY3Rpb24oZmlsZXNNZW51U2VjdGlvbilcbiAgICAgICAgLm9uQ2xpY2soKCkgPT4gdGhpcy5jcmVhdGVDb21tYW5kSW52b2NhdGlvbkZvckFic3RyYWN0RmlsZXMoYWJzdHJhY3RGaWxlcykuaW52b2tlKGZhbHNlKSk7XG4gICAgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBhYnN0cmFjdCBmaWxlIGNvbW1hbmQgaW52b2NhdGlvbnMuXG4gKlxuICogQHR5cGVQYXJhbSBUUGx1Z2luIC0gVGhlIHR5cGUgb2YgdGhlIHBsdWdpbiB0aGF0IHRoZSBjb21tYW5kIGJlbG9uZ3MgdG8uXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdEZpbGVDb21tYW5kSW52b2NhdGlvbkJhc2U8VFBsdWdpbiBleHRlbmRzIFBsdWdpbj4gZXh0ZW5kcyBDb21tYW5kSW52b2NhdGlvbkJhc2U8VFBsdWdpbj4ge1xuICAvKiogKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9hYnN0cmFjdEZpbGU6IG51bGwgfCBUQWJzdHJhY3RGaWxlO1xuXG4gIC8qKlxuICAgKiBUaGUgYWJzdHJhY3QgZmlsZSB0byBpbnZva2UgdGhlIGNvbW1hbmQgZm9yLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgYWJzdHJhY3QgZmlsZSB0byBpbnZva2UgdGhlIGNvbW1hbmQgZm9yLlxuICAgKiBAdGhyb3dzIElmIHRoZSBhYnN0cmFjdCBmaWxlIGlzIG5vdCBzZXQuXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0IGFic3RyYWN0RmlsZSgpOiBUQWJzdHJhY3RGaWxlIHtcbiAgICBpZiAoIXRoaXMuX2Fic3RyYWN0RmlsZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdBYnN0cmFjdCBmaWxlIG5vdCBzZXQnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2Fic3RyYWN0RmlsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGFic3RyYWN0IGZpbGUgY29tbWFuZCBpbnZvY2F0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gcGx1Z2luIC0gVGhlIHBsdWdpbiB0aGF0IHRoZSBjb21tYW5kIGJlbG9uZ3MgdG8uXG4gICAqIEBwYXJhbSBhYnN0cmFjdEZpbGUgLSBUaGUgYWJzdHJhY3QgZmlsZSB0byBpbnZva2UgdGhlIGNvbW1hbmQgZm9yLlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHBsdWdpbjogVFBsdWdpbiwgYWJzdHJhY3RGaWxlOiBudWxsIHwgVEFic3RyYWN0RmlsZSkge1xuICAgIHN1cGVyKHBsdWdpbik7XG4gICAgdGhpcy5fYWJzdHJhY3RGaWxlID0gYWJzdHJhY3RGaWxlO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZS5cbiAgICpcbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZS5cbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBjYW5FeGVjdXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdXBlci5jYW5FeGVjdXRlKCkgJiYgISF0aGlzLl9hYnN0cmFjdEZpbGU7XG4gIH1cbn1cblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBhYnN0cmFjdCBmaWxlcyBjb21tYW5kIGludm9jYXRpb25zLlxuICpcbiAqIEB0eXBlUGFyYW0gVFBsdWdpbiAtIFRoZSB0eXBlIG9mIHRoZSBwbHVnaW4gdGhhdCB0aGUgY29tbWFuZCBiZWxvbmdzIHRvLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RGaWxlc0NvbW1hbmRJbnZvY2F0aW9uQmFzZTxUUGx1Z2luIGV4dGVuZHMgUGx1Z2luPiBleHRlbmRzIENvbW1hbmRJbnZvY2F0aW9uQmFzZTxUUGx1Z2luPiB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGFic3RyYWN0IGZpbGVzIGNvbW1hbmQgaW52b2NhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHBsdWdpbiAtIFRoZSBwbHVnaW4gdGhhdCB0aGUgY29tbWFuZCBiZWxvbmdzIHRvLlxuICAgKiBAcGFyYW0gYWJzdHJhY3RGaWxlcyAtIFRoZSBhYnN0cmFjdCBmaWxlcyB0byBpbnZva2UgdGhlIGNvbW1hbmQgZm9yLlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHBsdWdpbjogVFBsdWdpbiwgcHVibGljIHJlYWRvbmx5IGFic3RyYWN0RmlsZXM6IFRBYnN0cmFjdEZpbGVbXSkge1xuICAgIHN1cGVyKHBsdWdpbik7XG4gIH1cbn1cblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBhcnJheS1kZWxlZ2F0aW5nIGFic3RyYWN0IGZpbGUgY29tbWFuZCBpbnZvY2F0aW9ucy5cbiAqXG4gKiBAdHlwZVBhcmFtIFRQbHVnaW4gLSBUaGUgdHlwZSBvZiB0aGUgcGx1Z2luIHRoYXQgdGhlIGNvbW1hbmQgYmVsb25ncyB0by5cbiAqL1xuZXhwb3J0IGNsYXNzIEFycmF5RGVsZWdhdGluZ0Fic3RyYWN0RmlsZUNvbW1hbmRJbnZvY2F0aW9uPFRQbHVnaW4gZXh0ZW5kcyBQbHVnaW4+IGV4dGVuZHMgQWJzdHJhY3RGaWxlQ29tbWFuZEludm9jYXRpb25CYXNlPFRQbHVnaW4+IHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgYXJyYXktZGVsZWdhdGluZyBhYnN0cmFjdCBmaWxlIGNvbW1hbmQgaW52b2NhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHBsdWdpbiAtIFRoZSBwbHVnaW4gdGhhdCB0aGUgY29tbWFuZCBpbnZvY2F0aW9uIGJlbG9uZ3MgdG8uXG4gICAqIEBwYXJhbSBhYnN0cmFjdEZpbGUgLSBUaGUgYWJzdHJhY3QgZmlsZSB0byBpbnZva2UgdGhlIGNvbW1hbmQgZm9yLlxuICAgKiBAcGFyYW0gY3JlYXRlQ29tbWFuZEludm9jYXRpb25Gb3JGaWxlcyAtIFRoZSBmdW5jdGlvbiB0byBjcmVhdGUgYSBjb21tYW5kIGludm9jYXRpb24gZm9yIGZpbGVzLlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHBsdWdpbjogVFBsdWdpbixcbiAgICBhYnN0cmFjdEZpbGU6IG51bGwgfCBUQWJzdHJhY3RGaWxlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY3JlYXRlQ29tbWFuZEludm9jYXRpb25Gb3JGaWxlczogKGFic3RyYWN0RmlsZXM6IFRBYnN0cmFjdEZpbGVbXSkgPT4gQWJzdHJhY3RGaWxlc0NvbW1hbmRJbnZvY2F0aW9uQmFzZTxUUGx1Z2luPlxuICApIHtcbiAgICBzdXBlcihwbHVnaW4sIGFic3RyYWN0RmlsZSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBjb21tYW5kIGNhbiBleGVjdXRlLlxuICAgKlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBjb21tYW5kIGNhbiBleGVjdXRlLlxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGNhbkV4ZWN1dGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHN1cGVyLmNhbkV4ZWN1dGUoKSAmJiB0aGlzLmNyZWF0ZUNvbW1hbmRJbnZvY2F0aW9uRm9yRmlsZXMoW3RoaXMuYWJzdHJhY3RGaWxlXSkuaW52b2tlKHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGVzIHRoZSBjb21tYW5kLlxuICAgKlxuICAgKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBjb21tYW5kIGhhcyBiZWVuIGV4ZWN1dGVkLlxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGFzeW5jIGV4ZWN1dGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5jcmVhdGVDb21tYW5kSW52b2NhdGlvbkZvckZpbGVzKFt0aGlzLmFic3RyYWN0RmlsZV0pLmludm9rZUFzeW5jKGZhbHNlKTtcbiAgfVxufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIHNlcXVlbnRpYWwgYWJzdHJhY3QgZmlsZXMgY29tbWFuZCBpbnZvY2F0aW9ucy5cbiAqXG4gKiBAdHlwZVBhcmFtIFRQbHVnaW4gLSBUaGUgdHlwZSBvZiB0aGUgcGx1Z2luIHRoYXQgdGhlIGNvbW1hbmQgYmVsb25ncyB0by5cbiAqL1xuZXhwb3J0IGNsYXNzIFNlcXVlbnRpYWxBYnN0cmFjdEZpbGVzQ29tbWFuZEludm9jYXRpb25CYXNlPFRQbHVnaW4gZXh0ZW5kcyBQbHVnaW4+IGV4dGVuZHMgQWJzdHJhY3RGaWxlc0NvbW1hbmRJbnZvY2F0aW9uQmFzZTxUUGx1Z2luPiB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IHNlcXVlbnRpYWwgZmlsZXMgY29tbWFuZCBpbnZvY2F0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gcGx1Z2luIC0gVGhlIHBsdWdpbiB0aGF0IHRoZSBjb21tYW5kIGludm9jYXRpb24gYmVsb25ncyB0by5cbiAgICogQHBhcmFtIGFic3RyYWN0RmlsZXMgLSBUaGUgZmlsZXMgdG8gaW52b2tlIHRoZSBjb21tYW5kIGZvci5cbiAgICogQHBhcmFtIGNyZWF0ZUNvbW1hbmRJbnZvY2F0aW9uRm9yRmlsZSAtIFRoZSBmdW5jdGlvbiB0byBjcmVhdGUgYSBjb21tYW5kIGludm9jYXRpb24gZm9yIGEgZmlsZS5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwbHVnaW46IFRQbHVnaW4sXG4gICAgYWJzdHJhY3RGaWxlczogVEFic3RyYWN0RmlsZVtdLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY3JlYXRlQ29tbWFuZEludm9jYXRpb25Gb3JGaWxlOiAoYWJzdHJhY3RGaWxlOiBUQWJzdHJhY3RGaWxlKSA9PiBBYnN0cmFjdEZpbGVDb21tYW5kSW52b2NhdGlvbkJhc2U8VFBsdWdpbj5cbiAgKSB7XG4gICAgc3VwZXIocGx1Z2luLCBhYnN0cmFjdEZpbGVzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIGNvbW1hbmQgY2FuIGV4ZWN1dGUuXG4gICAqXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGNvbW1hbmQgY2FuIGV4ZWN1dGUuXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY2FuRXhlY3V0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3VwZXIuY2FuRXhlY3V0ZSgpICYmIHRoaXMuYWJzdHJhY3RGaWxlcy5sZW5ndGggPiAwICYmIHRoaXMuYWJzdHJhY3RGaWxlcy5ldmVyeSgoZmlsZSkgPT4gdGhpcy5jcmVhdGVDb21tYW5kSW52b2NhdGlvbkZvckZpbGUoZmlsZSkuaW52b2tlKHRydWUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlcyB0aGUgY29tbWFuZC5cbiAgICpcbiAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgY29tbWFuZCBoYXMgYmVlbiBleGVjdXRlZC5cbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBhc3luYyBleGVjdXRlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGZvciAoY29uc3QgYWJzdHJhY3RGaWxlIG9mIHRoaXMuYWJzdHJhY3RGaWxlcykge1xuICAgICAgYXdhaXQgdGhpcy5jcmVhdGVDb21tYW5kSW52b2NhdGlvbkZvckZpbGUoYWJzdHJhY3RGaWxlKS5pbnZva2VBc3luYyhmYWxzZSk7XG4gICAgfVxuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFjQSxTQUFTLDZCQUE2QjtB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
|
|
277
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NvbW1hbmRzL0Fic3RyYWN0RmlsZUNvbW1hbmRCYXNlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIEJhc2UgY2xhc3NlcyBmb3IgYWJzdHJhY3QgZmlsZSBjb21tYW5kcy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIEljb25OYW1lLFxuICBNZW51LFxuICBQbHVnaW4sXG4gIFRBYnN0cmFjdEZpbGUsXG4gIFdvcmtzcGFjZUxlYWZcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgdHlwZSB7IENvbW1hbmRCYXNlT3B0aW9ucyB9IGZyb20gJy4vQ29tbWFuZEJhc2UudHMnO1xuXG5pbXBvcnQgeyBDb21tYW5kSW52b2NhdGlvbkJhc2UgfSBmcm9tICcuL0NvbW1hbmRCYXNlLnRzJztcbmltcG9ydCB7IE5vbkVkaXRvckNvbW1hbmRCYXNlIH0gZnJvbSAnLi9Ob25FZGl0b3JDb21tYW5kQmFzZS50cyc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgY3JlYXRpbmcgYW4gYWJzdHJhY3QgZmlsZSBjb21tYW5kLlxuICpcbiAqIEB0eXBlUGFyYW0gVFBsdWdpbiAtIFRoZSB0eXBlIG9mIHRoZSBwbHVnaW4gdGhhdCB0aGUgY29tbWFuZCBiZWxvbmdzIHRvLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFic3RyYWN0RmlsZUNvbW1hbmRCYXNlT3B0aW9uczxUUGx1Z2luIGV4dGVuZHMgUGx1Z2luPiBleHRlbmRzIENvbW1hbmRCYXNlT3B0aW9uczxUUGx1Z2luPiB7XG4gIC8qKlxuICAgKiBUaGUgaXRlbSBuYW1lIHRvIHVzZSBpbiB0aGUgZmlsZSBtZW51LlxuICAgKi9cbiAgZmlsZU1lbnVJdGVtTmFtZT86IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIHNlY3Rpb24gdG8gdXNlIGluIHRoZSBmaWxlIG1lbnUuXG4gICAqL1xuICBmaWxlTWVudVNlY3Rpb24/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBpY29uIHRvIHVzZSBpbiB0aGUgZmlsZSBtZW51IHN1Ym1lbnUuXG4gICAqL1xuICBmaWxlTWVudVN1Ym1lbnVJY29uPzogSWNvbk5hbWUgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBpdGVtIG5hbWUgdG8gdXNlIGluIHRoZSBmaWxlcyBtZW51LlxuICAgKi9cbiAgZmlsZXNNZW51SXRlbU5hbWU/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBzZWN0aW9uIHRvIHVzZSBpbiB0aGUgZmlsZXMgbWVudS5cbiAgICovXG4gIGZpbGVzTWVudVNlY3Rpb24/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBpY29uIHRvIHVzZSBpbiB0aGUgZmlsZXMgbWVudSBzdWJtZW51LlxuICAgKi9cbiAgZmlsZXNNZW51U3VibWVudUljb24/OiBJY29uTmFtZSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogV2hldGhlciB0byBhZGQgdGhlIGNvbW1hbmQgdG8gdGhlIHN1Ym1lbnUuXG4gICAqL1xuICBzaG91bGRBZGRDb21tYW5kVG9TdWJtZW51PzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBhYnN0cmFjdCBmaWxlIGNvbW1hbmRzLlxuICpcbiAqIEB0eXBlUGFyYW0gVFBsdWdpbiAtIFRoZSB0eXBlIG9mIHRoZSBwbHVnaW4gdGhhdCB0aGUgY29tbWFuZCBiZWxvbmdzIHRvLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RGaWxlQ29tbWFuZEJhc2U8VFBsdWdpbiBleHRlbmRzIFBsdWdpbiA9IFBsdWdpbj4gZXh0ZW5kcyBOb25FZGl0b3JDb21tYW5kQmFzZTxUUGx1Z2luPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZmlsZU1lbnVJdGVtTmFtZT86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSByZWFkb25seSBmaWxlTWVudVNlY3Rpb24/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgZmlsZU1lbnVTdWJtZW51SWNvbj86IEljb25OYW1lIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIHJlYWRvbmx5IGZpbGVzTWVudUl0ZW1OYW1lPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIHJlYWRvbmx5IGZpbGVzTWVudVNlY3Rpb24/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgZmlsZXNNZW51U3VibWVudUljb24/OiBJY29uTmFtZSB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSByZWFkb25seSBzaG91bGRBZGRDb21tYW5kVG9TdWJtZW51PzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBhYnN0cmFjdCBmaWxlIGNvbW1hbmQuXG4gICAqXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIHRoZSBhYnN0cmFjdCBmaWxlIGNvbW1hbmQuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3Iob3B0aW9uczogQWJzdHJhY3RGaWxlQ29tbWFuZEJhc2VPcHRpb25zPFRQbHVnaW4+KSB7XG4gICAgc3VwZXIob3B0aW9ucyk7XG4gICAgdGhpcy5maWxlTWVudUl0ZW1OYW1lID0gb3B0aW9ucy5maWxlTWVudUl0ZW1OYW1lO1xuICAgIHRoaXMuZmlsZU1lbnVTZWN0aW9uID0gb3B0aW9ucy5maWxlTWVudVNlY3Rpb247XG4gICAgdGhpcy5maWxlTWVudVN1Ym1lbnVJY29uID0gb3B0aW9ucy5maWxlTWVudVN1Ym1lbnVJY29uO1xuICAgIHRoaXMuZmlsZXNNZW51SXRlbU5hbWUgPSBvcHRpb25zLmZpbGVzTWVudUl0ZW1OYW1lO1xuICAgIHRoaXMuZmlsZXNNZW51U2VjdGlvbiA9IG9wdGlvbnMuZmlsZXNNZW51U2VjdGlvbjtcbiAgICB0aGlzLmZpbGVzTWVudVN1Ym1lbnVJY29uID0gb3B0aW9ucy5maWxlc01lbnVTdWJtZW51SWNvbjtcbiAgICB0aGlzLnNob3VsZEFkZENvbW1hbmRUb1N1Ym1lbnUgPSBvcHRpb25zLnNob3VsZEFkZENvbW1hbmRUb1N1Ym1lbnU7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBjb21tYW5kIGNhbiBleGVjdXRlIG9yIGV4ZWN1dGVzIGl0LlxuICAgKlxuICAgKiBAcGFyYW0gY2hlY2tpbmcgLSBJcyBjaGVja2luZyBtb2RlIG9ubHkuIElmIGB0cnVlYCwgb25seSB0aGUgY2hlY2sgaWYgdGhlIGNvbW1hbmQgY2FuIGV4ZWN1dGUgaXMgcGVyZm9ybWVkLiBJZiBgZmFsc2VgLCB0aGUgY29tbWFuZCBpcyBleGVjdXRlZC5cbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZS5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBjaGVja0NhbGxiYWNrKGNoZWNraW5nOiBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLnNob3VsZEFkZFRvQ29tbWFuZFBhbGV0dGUoKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gc3VwZXIuY2hlY2tDYWxsYmFjayhjaGVja2luZyk7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXJzIHRoZSBjb21tYW5kLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHJlZ2lzdGVyKCk6IHZvaWQge1xuICAgIHN1cGVyLnJlZ2lzdGVyKCk7XG4gICAgdGhpcy5wbHVnaW4ucmVnaXN0ZXJFdmVudCh0aGlzLmFwcC53b3Jrc3BhY2Uub24oJ2ZpbGUtbWVudScsIHRoaXMuaGFuZGxlQWJzdHJhY3RGaWxlTWVudS5iaW5kKHRoaXMpKSk7XG4gICAgdGhpcy5wbHVnaW4ucmVnaXN0ZXJFdmVudCh0aGlzLmFwcC53b3Jrc3BhY2Uub24oJ2ZpbGVzLW1lbnUnLCB0aGlzLmhhbmRsZUFic3RyYWN0RmlsZXNNZW51LmJpbmQodGhpcykpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGZpbGUgY29tbWFuZCBpbnZvY2F0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gYWJzdHJhY3RGaWxlIC0gVGhlIGFic3RyYWN0IGZpbGUgdG8gY3JlYXRlIHRoZSBjb21tYW5kIGludm9jYXRpb24gZm9yLlxuICAgKiBAcmV0dXJucyBUaGUgY29tbWFuZCBpbnZvY2F0aW9uLlxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGNyZWF0ZUNvbW1hbmRJbnZvY2F0aW9uKGFic3RyYWN0RmlsZT86IFRBYnN0cmFjdEZpbGUpOiBBYnN0cmFjdEZpbGVDb21tYW5kSW52b2NhdGlvbkJhc2U8VFBsdWdpbj4ge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZUNvbW1hbmRJbnZvY2F0aW9uRm9yQWJzdHJhY3RGaWxlKGFic3RyYWN0RmlsZSA/PyB0aGlzLmFwcC53b3Jrc3BhY2UuZ2V0QWN0aXZlRmlsZSgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGNvbW1hbmQgaW52b2NhdGlvbiBmb3IgYW4gYWJzdHJhY3QgZmlsZS5cbiAgICpcbiAgICogQHBhcmFtIGFic3RyYWN0RmlsZSAtIFRoZSBhYnN0cmFjdCBmaWxlIHRvIGNyZWF0ZSB0aGUgY29tbWFuZCBpbnZvY2F0aW9uIGZvci5cbiAgICogQHJldHVybnMgVGhlIGNvbW1hbmQgaW52b2NhdGlvbi5cbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBjcmVhdGVDb21tYW5kSW52b2NhdGlvbkZvckFic3RyYWN0RmlsZShhYnN0cmFjdEZpbGU6IG51bGwgfCBUQWJzdHJhY3RGaWxlKTogQWJzdHJhY3RGaWxlQ29tbWFuZEludm9jYXRpb25CYXNlPFRQbHVnaW4+O1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGNvbW1hbmQgaW52b2NhdGlvbiBmb3IgYWJzdHJhY3QgZmlsZXMuXG4gICAqXG4gICAqIEBwYXJhbSBhYnN0cmFjdEZpbGVzIC0gVGhlIGFic3RyYWN0IGZpbGVzIHRvIGNyZWF0ZSB0aGUgY29tbWFuZCBpbnZvY2F0aW9uIGZvci5cbiAgICogQHJldHVybnMgVGhlIGNvbW1hbmQgaW52b2NhdGlvbi5cbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVDb21tYW5kSW52b2NhdGlvbkZvckFic3RyYWN0RmlsZXMoYWJzdHJhY3RGaWxlczogVEFic3RyYWN0RmlsZVtdKTogQWJzdHJhY3RGaWxlc0NvbW1hbmRJbnZvY2F0aW9uQmFzZTxUUGx1Z2luPiB7XG4gICAgcmV0dXJuIG5ldyBTZXF1ZW50aWFsQWJzdHJhY3RGaWxlc0NvbW1hbmRJbnZvY2F0aW9uQmFzZSh0aGlzLnBsdWdpbiwgYWJzdHJhY3RGaWxlcywgdGhpcy5jcmVhdGVDb21tYW5kSW52b2NhdGlvbkZvckFic3RyYWN0RmlsZS5iaW5kKHRoaXMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIGNvbW1hbmQgc2hvdWxkIGJlIGFkZGVkIHRvIHRoZSBhYnN0cmFjdCBmaWxlIG1lbnUuXG4gICAqXG4gICAqIEBwYXJhbSBfYWJzdHJhY3RGaWxlIC0gVGhlIGFic3RyYWN0IGZpbGUgdG8gY2hlY2suXG4gICAqIEBwYXJhbSBfc291cmNlIC0gVGhlIHNvdXJjZSBvZiB0aGUgYWJzdHJhY3QgZmlsZS5cbiAgICogQHBhcmFtIF9sZWFmIC0gVGhlIGxlYWYgdG8gY2hlY2suXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGNvbW1hbmQgc2hvdWxkIGJlIGFkZGVkIHRvIHRoZSBhYnN0cmFjdCBmaWxlIG1lbnUuXG4gICAqL1xuICBwcm90ZWN0ZWQgc2hvdWxkQWRkVG9BYnN0cmFjdEZpbGVNZW51KF9hYnN0cmFjdEZpbGU6IFRBYnN0cmFjdEZpbGUsIF9zb3VyY2U6IHN0cmluZywgX2xlYWY/OiBXb3Jrc3BhY2VMZWFmKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgY29tbWFuZCBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIGFic3RyYWN0IGZpbGVzIG1lbnUuXG4gICAqXG4gICAqIEBwYXJhbSBhYnN0cmFjdEZpbGVzIC0gVGhlIGFic3RyYWN0IGZpbGVzIHRvIGNoZWNrLlxuICAgKiBAcGFyYW0gc291cmNlIC0gVGhlIHNvdXJjZSBvZiB0aGUgYWJzdHJhY3QgZmlsZXMuXG4gICAqIEBwYXJhbSBsZWFmIC0gVGhlIGxlYWYgdG8gY2hlY2suXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGNvbW1hbmQgc2hvdWxkIGJlIGFkZGVkIHRvIHRoZSBhYnN0cmFjdCBmaWxlcyBtZW51LlxuICAgKi9cbiAgcHJvdGVjdGVkIHNob3VsZEFkZFRvQWJzdHJhY3RGaWxlc01lbnUoYWJzdHJhY3RGaWxlczogVEFic3RyYWN0RmlsZVtdLCBzb3VyY2U6IHN0cmluZywgbGVhZj86IFdvcmtzcGFjZUxlYWYpOiBib29sZWFuIHtcbiAgICBmb3IgKGNvbnN0IGFic3RyYWN0RmlsZSBvZiBhYnN0cmFjdEZpbGVzKSB7XG4gICAgICBpZiAoIXRoaXMuc2hvdWxkQWRkVG9BYnN0cmFjdEZpbGVNZW51KGFic3RyYWN0RmlsZSwgc291cmNlLCBsZWFmKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBjb21tYW5kIHNob3VsZCBiZSBhZGRlZCB0byB0aGUgY29tbWFuZCBwYWxldHRlLlxuICAgKlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBjb21tYW5kIHNob3VsZCBiZSBhZGRlZCB0byB0aGUgY29tbWFuZCBwYWxldHRlLlxuICAgKi9cbiAgcHJvdGVjdGVkIHNob3VsZEFkZFRvQ29tbWFuZFBhbGV0dGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUFic3RyYWN0RmlsZU1lbnUobWVudTogTWVudSwgYWJzdHJhY3RGaWxlOiBUQWJzdHJhY3RGaWxlLCBzb3VyY2U6IHN0cmluZywgbGVhZj86IFdvcmtzcGFjZUxlYWYpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc2hvdWxkQWRkVG9BYnN0cmFjdEZpbGVNZW51KGFic3RyYWN0RmlsZSwgc291cmNlLCBsZWFmKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5jcmVhdGVDb21tYW5kSW52b2NhdGlvbihhYnN0cmFjdEZpbGUpLmludm9rZSh0cnVlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCBmaWxlTWVudVNlY3Rpb24gPSB0aGlzLmZpbGVNZW51U2VjdGlvbjtcbiAgICBpZiAodGhpcy5zaG91bGRBZGRDb21tYW5kVG9TdWJtZW51KSB7XG4gICAgICBmaWxlTWVudVNlY3Rpb24gPz89IHRoaXMucGx1Z2luLm1hbmlmZXN0Lm5hbWU7XG4gICAgICBtZW51LnNldFNlY3Rpb25TdWJtZW51KGZpbGVNZW51U2VjdGlvbiwge1xuICAgICAgICBpY29uOiB0aGlzLmZpbGVNZW51U3VibWVudUljb24gPz8gJycsXG4gICAgICAgIHRpdGxlOiBmaWxlTWVudVNlY3Rpb25cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBmaWxlTWVudVNlY3Rpb24gPz89ICcnO1xuICAgIH1cbiAgICBtZW51LmFkZEl0ZW0oKGl0ZW0pID0+IHtcbiAgICAgIGl0ZW1cbiAgICAgICAgLnNldFRpdGxlKHRoaXMuZmlsZU1lbnVJdGVtTmFtZSA/PyB0aGlzLm9yaWdpbmFsTmFtZSlcbiAgICAgICAgLnNldEljb24odGhpcy5pY29uKVxuICAgICAgICAuc2V0U2VjdGlvbihmaWxlTWVudVNlY3Rpb24pXG4gICAgICAgIC5vbkNsaWNrKCgpID0+IHRoaXMuY3JlYXRlQ29tbWFuZEludm9jYXRpb24oYWJzdHJhY3RGaWxlKS5pbnZva2UoZmFsc2UpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlQWJzdHJhY3RGaWxlc01lbnUobWVudTogTWVudSwgYWJzdHJhY3RGaWxlczogVEFic3RyYWN0RmlsZVtdLCBzb3VyY2U6IHN0cmluZywgbGVhZj86IFdvcmtzcGFjZUxlYWYpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc2hvdWxkQWRkVG9BYnN0cmFjdEZpbGVzTWVudShhYnN0cmFjdEZpbGVzLCBzb3VyY2UsIGxlYWYpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmNyZWF0ZUNvbW1hbmRJbnZvY2F0aW9uRm9yQWJzdHJhY3RGaWxlcyhhYnN0cmFjdEZpbGVzKS5pbnZva2UodHJ1ZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgZmlsZXNNZW51U2VjdGlvbiA9IHRoaXMuZmlsZXNNZW51U2VjdGlvbiA/PyB0aGlzLmZpbGVNZW51U2VjdGlvbjtcbiAgICBjb25zdCBmaWxlc01lbnVTdWJtZW51SWNvbiA9IHRoaXMuZmlsZXNNZW51U3VibWVudUljb24gPz8gdGhpcy5maWxlTWVudVN1Ym1lbnVJY29uO1xuICAgIGlmIChmaWxlc01lbnVTdWJtZW51SWNvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBmaWxlc01lbnVTZWN0aW9uID8/PSAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgZmlsZXNNZW51U2VjdGlvbiA/Pz0gdGhpcy5wbHVnaW4ubWFuaWZlc3QubmFtZTtcbiAgICAgIG1lbnUuc2V0U2VjdGlvblN1Ym1lbnUoZmlsZXNNZW51U2VjdGlvbiwge1xuICAgICAgICBpY29uOiBmaWxlc01lbnVTdWJtZW51SWNvbixcbiAgICAgICAgdGl0bGU6IGZpbGVzTWVudVNlY3Rpb25cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIG1lbnUuYWRkSXRlbSgoaXRlbSkgPT4ge1xuICAgICAgaXRlbVxuICAgICAgICAuc2V0VGl0bGUodGhpcy5maWxlc01lbnVJdGVtTmFtZSA/PyB0aGlzLmZpbGVNZW51SXRlbU5hbWUgPz8gdGhpcy5vcmlnaW5hbE5hbWUpXG4gICAgICAgIC5zZXRJY29uKHRoaXMuaWNvbilcbiAgICAgICAgLnNldFNlY3Rpb24oZmlsZXNNZW51U2VjdGlvbilcbiAgICAgICAgLm9uQ2xpY2soKCkgPT4gdGhpcy5jcmVhdGVDb21tYW5kSW52b2NhdGlvbkZvckFic3RyYWN0RmlsZXMoYWJzdHJhY3RGaWxlcykuaW52b2tlKGZhbHNlKSk7XG4gICAgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBhYnN0cmFjdCBmaWxlIGNvbW1hbmQgaW52b2NhdGlvbnMuXG4gKlxuICogQHR5cGVQYXJhbSBUUGx1Z2luIC0gVGhlIHR5cGUgb2YgdGhlIHBsdWdpbiB0aGF0IHRoZSBjb21tYW5kIGJlbG9uZ3MgdG8uXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdEZpbGVDb21tYW5kSW52b2NhdGlvbkJhc2U8VFBsdWdpbiBleHRlbmRzIFBsdWdpbj4gZXh0ZW5kcyBDb21tYW5kSW52b2NhdGlvbkJhc2U8VFBsdWdpbj4ge1xuICAvKiogKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9hYnN0cmFjdEZpbGU6IG51bGwgfCBUQWJzdHJhY3RGaWxlO1xuXG4gIC8qKlxuICAgKiBUaGUgYWJzdHJhY3QgZmlsZSB0byBpbnZva2UgdGhlIGNvbW1hbmQgZm9yLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgYWJzdHJhY3QgZmlsZSB0byBpbnZva2UgdGhlIGNvbW1hbmQgZm9yLlxuICAgKiBAdGhyb3dzIElmIHRoZSBhYnN0cmFjdCBmaWxlIGlzIG5vdCBzZXQuXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0IGFic3RyYWN0RmlsZSgpOiBUQWJzdHJhY3RGaWxlIHtcbiAgICBpZiAoIXRoaXMuX2Fic3RyYWN0RmlsZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdBYnN0cmFjdCBmaWxlIG5vdCBzZXQnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2Fic3RyYWN0RmlsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGFic3RyYWN0IGZpbGUgY29tbWFuZCBpbnZvY2F0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gcGx1Z2luIC0gVGhlIHBsdWdpbiB0aGF0IHRoZSBjb21tYW5kIGJlbG9uZ3MgdG8uXG4gICAqIEBwYXJhbSBhYnN0cmFjdEZpbGUgLSBUaGUgYWJzdHJhY3QgZmlsZSB0byBpbnZva2UgdGhlIGNvbW1hbmQgZm9yLlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHBsdWdpbjogVFBsdWdpbiwgYWJzdHJhY3RGaWxlOiBudWxsIHwgVEFic3RyYWN0RmlsZSkge1xuICAgIHN1cGVyKHBsdWdpbik7XG4gICAgdGhpcy5fYWJzdHJhY3RGaWxlID0gYWJzdHJhY3RGaWxlO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZS5cbiAgICpcbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZS5cbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBjYW5FeGVjdXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdXBlci5jYW5FeGVjdXRlKCkgJiYgISF0aGlzLl9hYnN0cmFjdEZpbGU7XG4gIH1cbn1cblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBhYnN0cmFjdCBmaWxlcyBjb21tYW5kIGludm9jYXRpb25zLlxuICpcbiAqIEB0eXBlUGFyYW0gVFBsdWdpbiAtIFRoZSB0eXBlIG9mIHRoZSBwbHVnaW4gdGhhdCB0aGUgY29tbWFuZCBiZWxvbmdzIHRvLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RGaWxlc0NvbW1hbmRJbnZvY2F0aW9uQmFzZTxUUGx1Z2luIGV4dGVuZHMgUGx1Z2luPiBleHRlbmRzIENvbW1hbmRJbnZvY2F0aW9uQmFzZTxUUGx1Z2luPiB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGFic3RyYWN0IGZpbGVzIGNvbW1hbmQgaW52b2NhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHBsdWdpbiAtIFRoZSBwbHVnaW4gdGhhdCB0aGUgY29tbWFuZCBiZWxvbmdzIHRvLlxuICAgKiBAcGFyYW0gYWJzdHJhY3RGaWxlcyAtIFRoZSBhYnN0cmFjdCBmaWxlcyB0byBpbnZva2UgdGhlIGNvbW1hbmQgZm9yLlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHBsdWdpbjogVFBsdWdpbiwgcHVibGljIHJlYWRvbmx5IGFic3RyYWN0RmlsZXM6IFRBYnN0cmFjdEZpbGVbXSkge1xuICAgIHN1cGVyKHBsdWdpbik7XG4gIH1cbn1cblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBhcnJheS1kZWxlZ2F0aW5nIGFic3RyYWN0IGZpbGUgY29tbWFuZCBpbnZvY2F0aW9ucy5cbiAqXG4gKiBAdHlwZVBhcmFtIFRQbHVnaW4gLSBUaGUgdHlwZSBvZiB0aGUgcGx1Z2luIHRoYXQgdGhlIGNvbW1hbmQgYmVsb25ncyB0by5cbiAqL1xuZXhwb3J0IGNsYXNzIEFycmF5RGVsZWdhdGluZ0Fic3RyYWN0RmlsZUNvbW1hbmRJbnZvY2F0aW9uPFRQbHVnaW4gZXh0ZW5kcyBQbHVnaW4+IGV4dGVuZHMgQWJzdHJhY3RGaWxlQ29tbWFuZEludm9jYXRpb25CYXNlPFRQbHVnaW4+IHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgYXJyYXktZGVsZWdhdGluZyBhYnN0cmFjdCBmaWxlIGNvbW1hbmQgaW52b2NhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHBsdWdpbiAtIFRoZSBwbHVnaW4gdGhhdCB0aGUgY29tbWFuZCBpbnZvY2F0aW9uIGJlbG9uZ3MgdG8uXG4gICAqIEBwYXJhbSBhYnN0cmFjdEZpbGUgLSBUaGUgYWJzdHJhY3QgZmlsZSB0byBpbnZva2UgdGhlIGNvbW1hbmQgZm9yLlxuICAgKiBAcGFyYW0gY3JlYXRlQ29tbWFuZEludm9jYXRpb25Gb3JGaWxlcyAtIFRoZSBmdW5jdGlvbiB0byBjcmVhdGUgYSBjb21tYW5kIGludm9jYXRpb24gZm9yIGZpbGVzLlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHBsdWdpbjogVFBsdWdpbixcbiAgICBhYnN0cmFjdEZpbGU6IG51bGwgfCBUQWJzdHJhY3RGaWxlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY3JlYXRlQ29tbWFuZEludm9jYXRpb25Gb3JGaWxlczogKGFic3RyYWN0RmlsZXM6IFRBYnN0cmFjdEZpbGVbXSkgPT4gQWJzdHJhY3RGaWxlc0NvbW1hbmRJbnZvY2F0aW9uQmFzZTxUUGx1Z2luPlxuICApIHtcbiAgICBzdXBlcihwbHVnaW4sIGFic3RyYWN0RmlsZSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBjb21tYW5kIGNhbiBleGVjdXRlLlxuICAgKlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBjb21tYW5kIGNhbiBleGVjdXRlLlxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGNhbkV4ZWN1dGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHN1cGVyLmNhbkV4ZWN1dGUoKSAmJiB0aGlzLmNyZWF0ZUNvbW1hbmRJbnZvY2F0aW9uRm9yRmlsZXMoW3RoaXMuYWJzdHJhY3RGaWxlXSkuaW52b2tlKHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGVzIHRoZSBjb21tYW5kLlxuICAgKlxuICAgKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBjb21tYW5kIGhhcyBiZWVuIGV4ZWN1dGVkLlxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGFzeW5jIGV4ZWN1dGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5jcmVhdGVDb21tYW5kSW52b2NhdGlvbkZvckZpbGVzKFt0aGlzLmFic3RyYWN0RmlsZV0pLmludm9rZUFzeW5jKGZhbHNlKTtcbiAgfVxufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIHNlcXVlbnRpYWwgYWJzdHJhY3QgZmlsZXMgY29tbWFuZCBpbnZvY2F0aW9ucy5cbiAqXG4gKiBAdHlwZVBhcmFtIFRQbHVnaW4gLSBUaGUgdHlwZSBvZiB0aGUgcGx1Z2luIHRoYXQgdGhlIGNvbW1hbmQgYmVsb25ncyB0by5cbiAqL1xuZXhwb3J0IGNsYXNzIFNlcXVlbnRpYWxBYnN0cmFjdEZpbGVzQ29tbWFuZEludm9jYXRpb25CYXNlPFRQbHVnaW4gZXh0ZW5kcyBQbHVnaW4+IGV4dGVuZHMgQWJzdHJhY3RGaWxlc0NvbW1hbmRJbnZvY2F0aW9uQmFzZTxUUGx1Z2luPiB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IHNlcXVlbnRpYWwgZmlsZXMgY29tbWFuZCBpbnZvY2F0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gcGx1Z2luIC0gVGhlIHBsdWdpbiB0aGF0IHRoZSBjb21tYW5kIGludm9jYXRpb24gYmVsb25ncyB0by5cbiAgICogQHBhcmFtIGFic3RyYWN0RmlsZXMgLSBUaGUgZmlsZXMgdG8gaW52b2tlIHRoZSBjb21tYW5kIGZvci5cbiAgICogQHBhcmFtIGNyZWF0ZUNvbW1hbmRJbnZvY2F0aW9uRm9yRmlsZSAtIFRoZSBmdW5jdGlvbiB0byBjcmVhdGUgYSBjb21tYW5kIGludm9jYXRpb24gZm9yIGEgZmlsZS5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwbHVnaW46IFRQbHVnaW4sXG4gICAgYWJzdHJhY3RGaWxlczogVEFic3RyYWN0RmlsZVtdLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY3JlYXRlQ29tbWFuZEludm9jYXRpb25Gb3JGaWxlOiAoYWJzdHJhY3RGaWxlOiBUQWJzdHJhY3RGaWxlKSA9PiBBYnN0cmFjdEZpbGVDb21tYW5kSW52b2NhdGlvbkJhc2U8VFBsdWdpbj5cbiAgKSB7XG4gICAgc3VwZXIocGx1Z2luLCBhYnN0cmFjdEZpbGVzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIGNvbW1hbmQgY2FuIGV4ZWN1dGUuXG4gICAqXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGNvbW1hbmQgY2FuIGV4ZWN1dGUuXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY2FuRXhlY3V0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3VwZXIuY2FuRXhlY3V0ZSgpICYmIHRoaXMuYWJzdHJhY3RGaWxlcy5sZW5ndGggPiAwICYmIHRoaXMuYWJzdHJhY3RGaWxlcy5ldmVyeSgoZmlsZSkgPT4gdGhpcy5jcmVhdGVDb21tYW5kSW52b2NhdGlvbkZvckZpbGUoZmlsZSkuaW52b2tlKHRydWUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlcyB0aGUgY29tbWFuZC5cbiAgICpcbiAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgY29tbWFuZCBoYXMgYmVlbiBleGVjdXRlZC5cbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBhc3luYyBleGVjdXRlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGZvciAoY29uc3QgYWJzdHJhY3RGaWxlIG9mIHRoaXMuYWJzdHJhY3RGaWxlcykge1xuICAgICAgYXdhaXQgdGhpcy5jcmVhdGVDb21tYW5kSW52b2NhdGlvbkZvckZpbGUoYWJzdHJhY3RGaWxlKS5pbnZva2VBc3luYyhmYWxzZSk7XG4gICAgfVxuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFnQkEsU0FBUyw2QkFBNkI7QUFDdEMsU0FBUyw0QkFBNEI7QUFpRDlCLE1BQWUsZ0NBQWlFLHFCQUE4QjtBQUFBLEVBQ2xHO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT1YsWUFBWSxTQUFrRDtBQUNuRSxVQUFNLE9BQU87QUFDYixTQUFLLG1CQUFtQixRQUFRO0FBQ2hDLFNBQUssa0JBQWtCLFFBQVE7QUFDL0IsU0FBSyxzQkFBc0IsUUFBUTtBQUNuQyxTQUFLLG9CQUFvQixRQUFRO0FBQ2pDLFNBQUssbUJBQW1CLFFBQVE7QUFDaEMsU0FBSyx1QkFBdUIsUUFBUTtBQUNwQyxTQUFLLDRCQUE0QixRQUFRO0FBQUEsRUFDM0M7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFnQixjQUFjLFVBQTRCO0FBQ3hELFFBQUksQ0FBQyxLQUFLLDBCQUEwQixHQUFHO0FBQ3JDLGFBQU87QUFBQSxJQUNUO0FBQ0EsV0FBTyxNQUFNLGNBQWMsUUFBUTtBQUFBLEVBQ3JDO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLZ0IsV0FBaUI7QUFDL0IsVUFBTSxTQUFTO0FBQ2YsU0FBSyxPQUFPLGNBQWMsS0FBSyxJQUFJLFVBQVUsR0FBRyxhQUFhLEtBQUssdUJBQXVCLEtBQUssSUFBSSxDQUFDLENBQUM7QUFDcEcsU0FBSyxPQUFPLGNBQWMsS0FBSyxJQUFJLFVBQVUsR0FBRyxjQUFjLEtBQUssd0JBQXdCLEtBQUssSUFBSSxDQUFDLENBQUM7QUFBQSxFQUN4RztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUW1CLHdCQUF3QixjQUEwRTtBQUNuSCxXQUFPLEtBQUssdUNBQXVDLGdCQUFnQixLQUFLLElBQUksVUFBVSxjQUFjLENBQUM7QUFBQSxFQUN2RztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBZ0JVLHdDQUF3QyxlQUE2RTtBQUM3SCxXQUFPLElBQUksNkNBQTZDLEtBQUssUUFBUSxlQUFlLEtBQUssdUNBQXVDLEtBQUssSUFBSSxDQUFDO0FBQUEsRUFDNUk7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFVVSw0QkFBNEIsZUFBOEIsU0FBaUIsT0FBZ0M7QUFDbkgsV0FBTztBQUFBLEVBQ1Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFVVSw2QkFBNkIsZUFBZ0MsUUFBZ0IsTUFBK0I7QUFDcEgsZUFBVyxnQkFBZ0IsZUFBZTtBQUN4QyxVQUFJLENBQUMsS0FBSyw0QkFBNEIsY0FBYyxRQUFRLElBQUksR0FBRztBQUNqRSxlQUFPO0FBQUEsTUFDVDtBQUFBLElBQ0Y7QUFFQSxXQUFPO0FBQUEsRUFDVDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9VLDRCQUFxQztBQUM3QyxXQUFPO0FBQUEsRUFDVDtBQUFBLEVBRVEsdUJBQXVCLE1BQVksY0FBNkIsUUFBZ0IsTUFBNEI7QUFDbEgsUUFBSSxDQUFDLEtBQUssNEJBQTRCLGNBQWMsUUFBUSxJQUFJLEdBQUc7QUFDakU7QUFBQSxJQUNGO0FBRUEsUUFBSSxDQUFDLEtBQUssd0JBQXdCLFlBQVksRUFBRSxPQUFPLElBQUksR0FBRztBQUM1RDtBQUFBLElBQ0Y7QUFFQSxRQUFJLGtCQUFrQixLQUFLO0FBQzNCLFFBQUksS0FBSywyQkFBMkI7QUFDbEMsMEJBQW9CLEtBQUssT0FBTyxTQUFTO0FBQ3pDLFdBQUssa0JBQWtCLGlCQUFpQjtBQUFBLFFBQ3RDLE1BQU0sS0FBSyx1QkFBdUI7QUFBQSxRQUNsQyxPQUFPO0FBQUEsTUFDVCxDQUFDO0FBQUEsSUFDSCxPQUFPO0FBQ0wsMEJBQW9CO0FBQUEsSUFDdEI7QUFDQSxTQUFLLFFBQVEsQ0FBQyxTQUFTO0FBQ3JCLFdBQ0csU0FBUyxLQUFLLG9CQUFvQixLQUFLLFlBQVksRUFDbkQsUUFBUSxLQUFLLElBQUksRUFDakIsV0FBVyxlQUFlLEVBQzFCLFFBQVEsTUFBTSxLQUFLLHdCQUF3QixZQUFZLEVBQUUsT0FBTyxLQUFLLENBQUM7QUFBQSxJQUMzRSxDQUFDO0FBQUEsRUFDSDtBQUFBLEVBRVEsd0JBQXdCLE1BQVksZUFBZ0MsUUFBZ0IsTUFBNEI7QUFDdEgsUUFBSSxDQUFDLEtBQUssNkJBQTZCLGVBQWUsUUFBUSxJQUFJLEdBQUc7QUFDbkU7QUFBQSxJQUNGO0FBRUEsUUFBSSxDQUFDLEtBQUssd0NBQXdDLGFBQWEsRUFBRSxPQUFPLElBQUksR0FBRztBQUM3RTtBQUFBLElBQ0Y7QUFFQSxRQUFJLG1CQUFtQixLQUFLLG9CQUFvQixLQUFLO0FBQ3JELFVBQU0sdUJBQXVCLEtBQUssd0JBQXdCLEtBQUs7QUFDL0QsUUFBSSx5QkFBeUIsUUFBVztBQUN0QywyQkFBcUI7QUFBQSxJQUN2QixPQUFPO0FBQ0wsMkJBQXFCLEtBQUssT0FBTyxTQUFTO0FBQzFDLFdBQUssa0JBQWtCLGtCQUFrQjtBQUFBLFFBQ3ZDLE1BQU07QUFBQSxRQUNOLE9BQU87QUFBQSxNQUNULENBQUM7QUFBQSxJQUNIO0FBRUEsU0FBSyxRQUFRLENBQUMsU0FBUztBQUNyQixXQUNHLFNBQVMsS0FBSyxxQkFBcUIsS0FBSyxvQkFBb0IsS0FBSyxZQUFZLEVBQzdFLFFBQVEsS0FBSyxJQUFJLEVBQ2pCLFdBQVcsZ0JBQWdCLEVBQzNCLFFBQVEsTUFBTSxLQUFLLHdDQUF3QyxhQUFhLEVBQUUsT0FBTyxLQUFLLENBQUM7QUFBQSxJQUM1RixDQUFDO0FBQUEsRUFDSDtBQUNGO0FBT08sTUFBZSwwQ0FBa0Usc0JBQStCO0FBQUE7QUFBQSxFQUVsRztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUW5CLElBQWMsZUFBOEI7QUFDMUMsUUFBSSxDQUFDLEtBQUssZUFBZTtBQUN2QixZQUFNLElBQUksTUFBTSx1QkFBdUI7QUFBQSxJQUN6QztBQUNBLFdBQU8sS0FBSztBQUFBLEVBQ2Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFPLFlBQVksUUFBaUIsY0FBb0M7QUFDdEUsVUFBTSxNQUFNO0FBQ1osU0FBSyxnQkFBZ0I7QUFBQSxFQUN2QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9tQixhQUFzQjtBQUN2QyxXQUFPLE1BQU0sV0FBVyxLQUFLLENBQUMsQ0FBQyxLQUFLO0FBQUEsRUFDdEM7QUFDRjtBQU9PLE1BQWUsMkNBQW1FLHNCQUErQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTy9HLFlBQVksUUFBaUMsZUFBZ0M7QUFDbEYsVUFBTSxNQUFNO0FBRHNDO0FBQUEsRUFFcEQ7QUFDRjtBQU9PLE1BQU0scURBQTZFLGtDQUEyQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRNUgsWUFDTCxRQUNBLGNBQ2lCLGlDQUNqQjtBQUNBLFVBQU0sUUFBUSxZQUFZO0FBRlQ7QUFBQSxFQUduQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9tQixhQUFzQjtBQUN2QyxXQUFPLE1BQU0sV0FBVyxLQUFLLEtBQUssZ0NBQWdDLENBQUMsS0FBSyxZQUFZLENBQUMsRUFBRSxPQUFPLElBQUk7QUFBQSxFQUNwRztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9BLE1BQXlCLFVBQXlCO0FBQ2hELFVBQU0sS0FBSyxnQ0FBZ0MsQ0FBQyxLQUFLLFlBQVksQ0FBQyxFQUFFLFlBQVksS0FBSztBQUFBLEVBQ25GO0FBQ0Y7QUFPTyxNQUFNLHFEQUE2RSxtQ0FBNEM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUTdILFlBQ0wsUUFDQSxlQUNpQixnQ0FDakI7QUFDQSxVQUFNLFFBQVEsYUFBYTtBQUZWO0FBQUEsRUFHbkI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPbUIsYUFBc0I7QUFDdkMsV0FBTyxNQUFNLFdBQVcsS0FBSyxLQUFLLGNBQWMsU0FBUyxLQUFLLEtBQUssY0FBYyxNQUFNLENBQUMsU0FBUyxLQUFLLCtCQUErQixJQUFJLEVBQUUsT0FBTyxJQUFJLENBQUM7QUFBQSxFQUN6SjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9BLE1BQXlCLFVBQXlCO0FBQ2hELGVBQVcsZ0JBQWdCLEtBQUssZUFBZTtBQUM3QyxZQUFNLEtBQUssK0JBQStCLFlBQVksRUFBRSxZQUFZLEtBQUs7QUFBQSxJQUMzRTtBQUFBLEVBQ0Y7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -4,25 +4,47 @@
|
|
|
4
4
|
* Base classes for editor commands.
|
|
5
5
|
*/
|
|
6
6
|
import type { Editor, IconName, MarkdownFileInfo, Plugin, TFile } from 'obsidian';
|
|
7
|
+
import type { CommandBaseOptions } from './CommandBase.mjs';
|
|
7
8
|
import { CommandBase, CommandInvocationBase } from './CommandBase.mjs';
|
|
8
9
|
/**
|
|
9
|
-
*
|
|
10
|
+
* Options for creating an editor command.
|
|
10
11
|
*
|
|
11
12
|
* @typeParam TPlugin - The type of the plugin that the command belongs to.
|
|
12
13
|
*/
|
|
13
|
-
export
|
|
14
|
+
export interface EditorCommandBaseOptions<TPlugin extends Plugin> extends CommandBaseOptions<TPlugin> {
|
|
14
15
|
/**
|
|
15
16
|
* The item name to use in the editor menu.
|
|
16
17
|
*/
|
|
17
|
-
|
|
18
|
+
editorMenuItemName?: string | undefined;
|
|
18
19
|
/**
|
|
19
20
|
* The section to use in the editor menu.
|
|
20
21
|
*/
|
|
21
|
-
|
|
22
|
+
editorMenuSection?: string | undefined;
|
|
22
23
|
/**
|
|
23
24
|
* The icon to use in the editor menu submenu.
|
|
24
25
|
*/
|
|
25
|
-
|
|
26
|
+
editorMenuSubmenuIcon?: IconName | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* Whether to add the command to the submenu.
|
|
29
|
+
*/
|
|
30
|
+
shouldAddCommandToSubmenu?: boolean | undefined;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Base class for editor commands.
|
|
34
|
+
*
|
|
35
|
+
* @typeParam TPlugin - The type of the plugin that the command belongs to.
|
|
36
|
+
*/
|
|
37
|
+
export declare abstract class EditorCommandBase<TPlugin extends Plugin> extends CommandBase<TPlugin> {
|
|
38
|
+
private readonly editorMenuItemName?;
|
|
39
|
+
private readonly editorMenuSection?;
|
|
40
|
+
private readonly editorMenuSubmenuIcon?;
|
|
41
|
+
private readonly shouldAddCommandToSubmenu?;
|
|
42
|
+
/**
|
|
43
|
+
* Creates a new editor command.
|
|
44
|
+
*
|
|
45
|
+
* @param options - The options for the editor command.
|
|
46
|
+
*/
|
|
47
|
+
constructor(options: EditorCommandBaseOptions<TPlugin>);
|
|
26
48
|
/**
|
|
27
49
|
* Checks if the command can execute or executes it.
|
|
28
50
|
*
|
|
@@ -24,18 +24,22 @@ import {
|
|
|
24
24
|
CommandInvocationBase
|
|
25
25
|
} from "./CommandBase.mjs";
|
|
26
26
|
class EditorCommandBase extends CommandBase {
|
|
27
|
-
/**
|
|
28
|
-
* The item name to use in the editor menu.
|
|
29
|
-
*/
|
|
30
27
|
editorMenuItemName;
|
|
31
|
-
/**
|
|
32
|
-
* The section to use in the editor menu.
|
|
33
|
-
*/
|
|
34
28
|
editorMenuSection;
|
|
29
|
+
editorMenuSubmenuIcon;
|
|
30
|
+
shouldAddCommandToSubmenu;
|
|
35
31
|
/**
|
|
36
|
-
*
|
|
32
|
+
* Creates a new editor command.
|
|
33
|
+
*
|
|
34
|
+
* @param options - The options for the editor command.
|
|
37
35
|
*/
|
|
38
|
-
|
|
36
|
+
constructor(options) {
|
|
37
|
+
super(options);
|
|
38
|
+
this.editorMenuItemName = options.editorMenuItemName;
|
|
39
|
+
this.editorMenuSection = options.editorMenuSection;
|
|
40
|
+
this.editorMenuSubmenuIcon = options.editorMenuSubmenuIcon;
|
|
41
|
+
this.shouldAddCommandToSubmenu = options.shouldAddCommandToSubmenu;
|
|
42
|
+
}
|
|
39
43
|
/**
|
|
40
44
|
* Checks if the command can execute or executes it.
|
|
41
45
|
*
|
|
@@ -83,14 +87,14 @@ class EditorCommandBase extends CommandBase {
|
|
|
83
87
|
return;
|
|
84
88
|
}
|
|
85
89
|
let editorMenuSection = this.editorMenuSection;
|
|
86
|
-
if (this.
|
|
87
|
-
editorMenuSection ??= "";
|
|
88
|
-
} else {
|
|
90
|
+
if (this.shouldAddCommandToSubmenu) {
|
|
89
91
|
editorMenuSection ??= this.plugin.manifest.name;
|
|
90
92
|
menu.setSectionSubmenu(editorMenuSection, {
|
|
91
|
-
icon: this.editorMenuSubmenuIcon,
|
|
93
|
+
icon: this.editorMenuSubmenuIcon ?? "",
|
|
92
94
|
title: editorMenuSection
|
|
93
95
|
});
|
|
96
|
+
} else {
|
|
97
|
+
editorMenuSection ??= "";
|
|
94
98
|
}
|
|
95
99
|
menu.addItem((item) => {
|
|
96
100
|
item.setTitle(this.editorMenuItemName ?? this.originalName).setIcon(this.icon).setSection(editorMenuSection).onClick(() => this.createEditorCommandInvocation(editor, ctx).invoke(false));
|
|
@@ -137,4 +141,4 @@ export {
|
|
|
137
141
|
EditorCommandBase,
|
|
138
142
|
EditorCommandInvocationBase
|
|
139
143
|
};
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NvbW1hbmRzL0VkaXRvckNvbW1hbmRCYXNlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIEJhc2UgY2xhc3NlcyBmb3IgZWRpdG9yIGNvbW1hbmRzLlxuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgRWRpdG9yLFxuICBJY29uTmFtZSxcbiAgTWFya2Rvd25GaWxlSW5mbyxcbiAgTWVudSxcbiAgUGx1Z2luLFxuICBURmlsZVxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7XG4gIENvbW1hbmRCYXNlLFxuICBDb21tYW5kSW52b2NhdGlvbkJhc2Vcbn0gZnJvbSAnLi9Db21tYW5kQmFzZS50cyc7XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgZWRpdG9yIGNvbW1hbmRzLlxuICpcbiAqIEB0eXBlUGFyYW0gVFBsdWdpbiAtIFRoZSB0eXBlIG9mIHRoZSBwbHVnaW4gdGhhdCB0aGUgY29tbWFuZCBiZWxvbmdzIHRvLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRWRpdG9yQ29tbWFuZEJhc2U8VFBsdWdpbiBleHRlbmRzIFBsdWdpbj4gZXh0ZW5kcyBDb21tYW5kQmFzZTxUUGx1Z2luPiB7XG4gIC8qKlxuICAgKiBUaGUgaXRlbSBuYW1lIHRvIHVzZSBpbiB0aGUgZWRpdG9yIG1lbnUuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWRpdG9yTWVudUl0ZW1OYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2VjdGlvbiB0byB1c2UgaW4gdGhlIGVkaXRvciBtZW51LlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGVkaXRvck1lbnVTZWN0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgaWNvbiB0byB1c2UgaW4gdGhlIGVkaXRvciBtZW51IHN1Ym1lbnUuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWRpdG9yTWVudVN1Ym1lbnVJY29uPzogSWNvbk5hbWU7XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZSBvciBleGVjdXRlcyBpdC5cbiAgICpcbiAgICogQHBhcmFtIGNoZWNraW5nIC0gSXMgY2hlY2tpbmcgbW9kZSBvbmx5LiBJZiBgdHJ1ZWAsIG9ubHkgdGhlIGNoZWNrIGlmIHRoZSBjb21tYW5kIGNhbiBleGVjdXRlIGlzIHBlcmZvcm1lZC4gSWYgYGZhbHNlYCwgdGhlIGNvbW1hbmQgaXMgZXhlY3V0ZWQuXG4gICAqIEBwYXJhbSBlZGl0b3IgLSBUaGUgZWRpdG9yIHRvIGNoZWNrLlxuICAgKiBAcGFyYW0gY3R4IC0gVGhlIGNvbnRleHQgb2YgdGhlIGNvbW1hbmQuXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGNvbW1hbmQgY2FuIGV4ZWN1dGUuXG4gICAqL1xuICBwdWJsaWMgZWRpdG9yQ2hlY2tDYWxsYmFjayhjaGVja2luZzogYm9vbGVhbiwgZWRpdG9yOiBFZGl0b3IsIGN0eDogTWFya2Rvd25GaWxlSW5mbyk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5zaG91bGRBZGRUb0NvbW1hbmRQYWxldHRlKCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlRWRpdG9yQ29tbWFuZEludm9jYXRpb24oZWRpdG9yLCBjdHgpLmludm9rZShjaGVja2luZyk7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXJzIHRoZSBjb21tYW5kLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHJlZ2lzdGVyKCk6IHZvaWQge1xuICAgIHN1cGVyLnJlZ2lzdGVyKCk7XG4gICAgdGhpcy5wbHVnaW4ucmVnaXN0ZXJFdmVudCh0aGlzLmFwcC53b3Jrc3BhY2Uub24oJ2VkaXRvci1tZW51JywgdGhpcy5oYW5kbGVFZGl0b3JNZW51LmJpbmQodGhpcykpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGVkaXRvciBjb21tYW5kIGludm9jYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSBlZGl0b3IgLSBUaGUgZWRpdG9yIHRvIGNyZWF0ZSB0aGUgY29tbWFuZCBpbnZvY2F0aW9uIGZvci5cbiAgICogQHBhcmFtIGN0eCAtIFRoZSBjb250ZXh0IG9mIHRoZSBjb21tYW5kLlxuICAgKiBAcmV0dXJucyBUaGUgY29tbWFuZCBpbnZvY2F0aW9uLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGNyZWF0ZUVkaXRvckNvbW1hbmRJbnZvY2F0aW9uKGVkaXRvcjogRWRpdG9yLCBjdHg6IE1hcmtkb3duRmlsZUluZm8pOiBDb21tYW5kSW52b2NhdGlvbkJhc2U7XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgY29tbWFuZCBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIGNvbW1hbmQgcGFsZXR0ZS5cbiAgICpcbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgY29tbWFuZCBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIGNvbW1hbmQgcGFsZXR0ZS5cbiAgICovXG4gIHByb3RlY3RlZCBzaG91bGRBZGRUb0NvbW1hbmRQYWxldHRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgY29tbWFuZCBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIGVkaXRvciBtZW51LlxuICAgKlxuICAgKiBAcGFyYW0gX2VkaXRvciAtIFRoZSBlZGl0b3IgdG8gY2hlY2suXG4gICAqIEBwYXJhbSBfY3R4IC0gVGhlIGNvbnRleHQgb2YgdGhlIGNvbW1hbmQuXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGNvbW1hbmQgc2hvdWxkIGJlIGFkZGVkIHRvIHRoZSBlZGl0b3IgbWVudS5cbiAgICovXG4gIHByb3RlY3RlZCBzaG91bGRBZGRUb0VkaXRvck1lbnUoX2VkaXRvcjogRWRpdG9yLCBfY3R4OiBNYXJrZG93bkZpbGVJbmZvKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVFZGl0b3JNZW51KG1lbnU6IE1lbnUsIGVkaXRvcjogRWRpdG9yLCBjdHg6IE1hcmtkb3duRmlsZUluZm8pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc2hvdWxkQWRkVG9FZGl0b3JNZW51KGVkaXRvciwgY3R4KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5jcmVhdGVFZGl0b3JDb21tYW5kSW52b2NhdGlvbihlZGl0b3IsIGN0eCkuaW52b2tlKHRydWUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IGVkaXRvck1lbnVTZWN0aW9uID0gdGhpcy5lZGl0b3JNZW51U2VjdGlvbjtcbiAgICBpZiAodGhpcy5lZGl0b3JNZW51U3VibWVudUljb24gPT09IHVuZGVmaW5lZCkge1xuICAgICAgZWRpdG9yTWVudVNlY3Rpb24gPz89ICcnO1xuICAgIH0gZWxzZSB7XG4gICAgICBlZGl0b3JNZW51U2VjdGlvbiA/Pz0gdGhpcy5wbHVnaW4ubWFuaWZlc3QubmFtZTtcbiAgICAgIG1lbnUuc2V0U2VjdGlvblN1Ym1lbnUoZWRpdG9yTWVudVNlY3Rpb24sIHtcbiAgICAgICAgaWNvbjogdGhpcy5lZGl0b3JNZW51U3VibWVudUljb24sXG4gICAgICAgIHRpdGxlOiBlZGl0b3JNZW51U2VjdGlvblxuICAgICAgfSk7XG4gICAgfVxuICAgIG1lbnUuYWRkSXRlbSgoaXRlbSkgPT4ge1xuICAgICAgaXRlbVxuICAgICAgICAuc2V0VGl0bGUodGhpcy5lZGl0b3JNZW51SXRlbU5hbWUgPz8gdGhpcy5vcmlnaW5hbE5hbWUpXG4gICAgICAgIC5zZXRJY29uKHRoaXMuaWNvbilcbiAgICAgICAgLnNldFNlY3Rpb24oZWRpdG9yTWVudVNlY3Rpb24pXG4gICAgICAgIC5vbkNsaWNrKCgpID0+IHRoaXMuY3JlYXRlRWRpdG9yQ29tbWFuZEludm9jYXRpb24oZWRpdG9yLCBjdHgpLmludm9rZShmYWxzZSkpO1xuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgZWRpdG9yIGNvbW1hbmQgaW52b2NhdGlvbnMuXG4gKlxuICogQHR5cGVQYXJhbSBUUGx1Z2luIC0gVGhlIHR5cGUgb2YgdGhlIHBsdWdpbiB0aGF0IHRoZSBjb21tYW5kIGJlbG9uZ3MgdG8uXG4gKi9cbmV4cG9ydCBjbGFzcyBFZGl0b3JDb21tYW5kSW52b2NhdGlvbkJhc2U8VFBsdWdpbiBleHRlbmRzIFBsdWdpbj4gZXh0ZW5kcyBDb21tYW5kSW52b2NhdGlvbkJhc2U8VFBsdWdpbj4ge1xuICAvKipcbiAgICogVGhlIGZpbGUgdG8gaW52b2tlIHRoZSBjb21tYW5kIGZvci5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIGZpbGUgdG8gaW52b2tlIHRoZSBjb21tYW5kIGZvci5cbiAgICogQHRocm93cyBJZiB0aGUgZmlsZSBpcyBub3Qgc2V0LlxuICAgKi9cbiAgcHJvdGVjdGVkIGdldCBmaWxlKCk6IFRGaWxlIHtcbiAgICBpZiAoIXRoaXMuX2ZpbGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRmlsZSBub3Qgc2V0Jyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9maWxlO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZmlsZTogbnVsbCB8IFRGaWxlO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGVkaXRvciBjb21tYW5kIGludm9jYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luIHRoYXQgdGhlIGNvbW1hbmQgaW52b2NhdGlvbiBiZWxvbmdzIHRvLlxuICAgKiBAcGFyYW0gZWRpdG9yIC0gVGhlIGVkaXRvciB0byBjcmVhdGUgdGhlIGNvbW1hbmQgaW52b2NhdGlvbiBmb3IuXG4gICAqIEBwYXJhbSBjdHggLSBUaGUgY29udGV4dCBvZiB0aGUgY29tbWFuZC5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwbHVnaW46IFRQbHVnaW4sIHByb3RlY3RlZCByZWFkb25seSBlZGl0b3I6IEVkaXRvciwgcHJvdGVjdGVkIHJlYWRvbmx5IGN0eDogTWFya2Rvd25GaWxlSW5mbykge1xuICAgIHN1cGVyKHBsdWdpbik7XG4gICAgdGhpcy5fZmlsZSA9IGN0eC5maWxlO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZS5cbiAgICpcbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZS5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBjYW5FeGVjdXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdXBlci5jYW5FeGVjdXRlKCkgJiYgISF0aGlzLl9maWxlO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFlQTtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQU9BLE1BQWUsMEJBQWtELFlBQXFCO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFJeEU7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVVaLG9CQUFvQixVQUFtQixRQUFnQixLQUFnQztBQUM1RixRQUFJLENBQUMsS0FBSywwQkFBMEIsR0FBRztBQUNyQyxhQUFPO0FBQUEsSUFDVDtBQUNBLFdBQU8sS0FBSyw4QkFBOEIsUUFBUSxHQUFHLEVBQUUsT0FBTyxRQUFRO0FBQUEsRUFDeEU7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtnQixXQUFpQjtBQUMvQixVQUFNLFNBQVM7QUFDZixTQUFLLE9BQU8sY0FBYyxLQUFLLElBQUksVUFBVSxHQUFHLGVBQWUsS0FBSyxpQkFBaUIsS0FBSyxJQUFJLENBQUMsQ0FBQztBQUFBLEVBQ2xHO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBZ0JVLDRCQUFxQztBQUM3QyxXQUFPO0FBQUEsRUFDVDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTVSxzQkFBc0IsU0FBaUIsTUFBaUM7QUFDaEYsV0FBTztBQUFBLEVBQ1Q7QUFBQSxFQUVRLGlCQUFpQixNQUFZLFFBQWdCLEtBQTZCO0FBQ2hGLFFBQUksQ0FBQyxLQUFLLHNCQUFzQixRQUFRLEdBQUcsR0FBRztBQUM1QztBQUFBLElBQ0Y7QUFFQSxRQUFJLENBQUMsS0FBSyw4QkFBOEIsUUFBUSxHQUFHLEVBQUUsT0FBTyxJQUFJLEdBQUc7QUFDakU7QUFBQSxJQUNGO0FBRUEsUUFBSSxvQkFBb0IsS0FBSztBQUM3QixRQUFJLEtBQUssMEJBQTBCLFFBQVc7QUFDNUMsNEJBQXNCO0FBQUEsSUFDeEIsT0FBTztBQUNMLDRCQUFzQixLQUFLLE9BQU8sU0FBUztBQUMzQyxXQUFLLGtCQUFrQixtQkFBbUI7QUFBQSxRQUN4QyxNQUFNLEtBQUs7QUFBQSxRQUNYLE9BQU87QUFBQSxNQUNULENBQUM7QUFBQSxJQUNIO0FBQ0EsU0FBSyxRQUFRLENBQUMsU0FBUztBQUNyQixXQUNHLFNBQVMsS0FBSyxzQkFBc0IsS0FBSyxZQUFZLEVBQ3JELFFBQVEsS0FBSyxJQUFJLEVBQ2pCLFdBQVcsaUJBQWlCLEVBQzVCLFFBQVEsTUFBTSxLQUFLLDhCQUE4QixRQUFRLEdBQUcsRUFBRSxPQUFPLEtBQUssQ0FBQztBQUFBLElBQ2hGLENBQUM7QUFBQSxFQUNIO0FBQ0Y7QUFPTyxNQUFNLG9DQUE0RCxzQkFBK0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBdUIvRixZQUFZLFFBQW9DLFFBQW1DLEtBQXVCO0FBQy9HLFVBQU0sTUFBTTtBQUR5QztBQUFtQztBQUV4RixTQUFLLFFBQVEsSUFBSTtBQUFBLEVBQ25CO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFuQkEsSUFBYyxPQUFjO0FBQzFCLFFBQUksQ0FBQyxLQUFLLE9BQU87QUFDZixZQUFNLElBQUksTUFBTSxjQUFjO0FBQUEsSUFDaEM7QUFDQSxXQUFPLEtBQUs7QUFBQSxFQUNkO0FBQUEsRUFFaUI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFtQkQsYUFBc0I7QUFDcEMsV0FBTyxNQUFNLFdBQVcsS0FBSyxDQUFDLENBQUMsS0FBSztBQUFBLEVBQ3RDO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NvbW1hbmRzL0VkaXRvckNvbW1hbmRCYXNlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIEJhc2UgY2xhc3NlcyBmb3IgZWRpdG9yIGNvbW1hbmRzLlxuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgRWRpdG9yLFxuICBJY29uTmFtZSxcbiAgTWFya2Rvd25GaWxlSW5mbyxcbiAgTWVudSxcbiAgUGx1Z2luLFxuICBURmlsZVxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgQ29tbWFuZEJhc2VPcHRpb25zIH0gZnJvbSAnLi9Db21tYW5kQmFzZS50cyc7XG5cbmltcG9ydCB7XG4gIENvbW1hbmRCYXNlLFxuICBDb21tYW5kSW52b2NhdGlvbkJhc2Vcbn0gZnJvbSAnLi9Db21tYW5kQmFzZS50cyc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgY3JlYXRpbmcgYW4gZWRpdG9yIGNvbW1hbmQuXG4gKlxuICogQHR5cGVQYXJhbSBUUGx1Z2luIC0gVGhlIHR5cGUgb2YgdGhlIHBsdWdpbiB0aGF0IHRoZSBjb21tYW5kIGJlbG9uZ3MgdG8uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWRpdG9yQ29tbWFuZEJhc2VPcHRpb25zPFRQbHVnaW4gZXh0ZW5kcyBQbHVnaW4+IGV4dGVuZHMgQ29tbWFuZEJhc2VPcHRpb25zPFRQbHVnaW4+IHtcbiAgLyoqXG4gICAqIFRoZSBpdGVtIG5hbWUgdG8gdXNlIGluIHRoZSBlZGl0b3IgbWVudS5cbiAgICovXG4gIGVkaXRvck1lbnVJdGVtTmFtZT86IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIHNlY3Rpb24gdG8gdXNlIGluIHRoZSBlZGl0b3IgbWVudS5cbiAgICovXG4gIGVkaXRvck1lbnVTZWN0aW9uPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgaWNvbiB0byB1c2UgaW4gdGhlIGVkaXRvciBtZW51IHN1Ym1lbnUuXG4gICAqL1xuICBlZGl0b3JNZW51U3VibWVudUljb24/OiBJY29uTmFtZSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogV2hldGhlciB0byBhZGQgdGhlIGNvbW1hbmQgdG8gdGhlIHN1Ym1lbnUuXG4gICAqL1xuICBzaG91bGRBZGRDb21tYW5kVG9TdWJtZW51PzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBlZGl0b3IgY29tbWFuZHMuXG4gKlxuICogQHR5cGVQYXJhbSBUUGx1Z2luIC0gVGhlIHR5cGUgb2YgdGhlIHBsdWdpbiB0aGF0IHRoZSBjb21tYW5kIGJlbG9uZ3MgdG8uXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBFZGl0b3JDb21tYW5kQmFzZTxUUGx1Z2luIGV4dGVuZHMgUGx1Z2luPiBleHRlbmRzIENvbW1hbmRCYXNlPFRQbHVnaW4+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBlZGl0b3JNZW51SXRlbU5hbWU/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgZWRpdG9yTWVudVNlY3Rpb24/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgZWRpdG9yTWVudVN1Ym1lbnVJY29uPzogSWNvbk5hbWUgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2hvdWxkQWRkQ29tbWFuZFRvU3VibWVudT86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgZWRpdG9yIGNvbW1hbmQuXG4gICAqXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIHRoZSBlZGl0b3IgY29tbWFuZC5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihvcHRpb25zOiBFZGl0b3JDb21tYW5kQmFzZU9wdGlvbnM8VFBsdWdpbj4pIHtcbiAgICBzdXBlcihvcHRpb25zKTtcbiAgICB0aGlzLmVkaXRvck1lbnVJdGVtTmFtZSA9IG9wdGlvbnMuZWRpdG9yTWVudUl0ZW1OYW1lO1xuICAgIHRoaXMuZWRpdG9yTWVudVNlY3Rpb24gPSBvcHRpb25zLmVkaXRvck1lbnVTZWN0aW9uO1xuICAgIHRoaXMuZWRpdG9yTWVudVN1Ym1lbnVJY29uID0gb3B0aW9ucy5lZGl0b3JNZW51U3VibWVudUljb247XG4gICAgdGhpcy5zaG91bGRBZGRDb21tYW5kVG9TdWJtZW51ID0gb3B0aW9ucy5zaG91bGRBZGRDb21tYW5kVG9TdWJtZW51O1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZSBvciBleGVjdXRlcyBpdC5cbiAgICpcbiAgICogQHBhcmFtIGNoZWNraW5nIC0gSXMgY2hlY2tpbmcgbW9kZSBvbmx5LiBJZiBgdHJ1ZWAsIG9ubHkgdGhlIGNoZWNrIGlmIHRoZSBjb21tYW5kIGNhbiBleGVjdXRlIGlzIHBlcmZvcm1lZC4gSWYgYGZhbHNlYCwgdGhlIGNvbW1hbmQgaXMgZXhlY3V0ZWQuXG4gICAqIEBwYXJhbSBlZGl0b3IgLSBUaGUgZWRpdG9yIHRvIGNoZWNrLlxuICAgKiBAcGFyYW0gY3R4IC0gVGhlIGNvbnRleHQgb2YgdGhlIGNvbW1hbmQuXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGNvbW1hbmQgY2FuIGV4ZWN1dGUuXG4gICAqL1xuICBwdWJsaWMgZWRpdG9yQ2hlY2tDYWxsYmFjayhjaGVja2luZzogYm9vbGVhbiwgZWRpdG9yOiBFZGl0b3IsIGN0eDogTWFya2Rvd25GaWxlSW5mbyk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5zaG91bGRBZGRUb0NvbW1hbmRQYWxldHRlKCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlRWRpdG9yQ29tbWFuZEludm9jYXRpb24oZWRpdG9yLCBjdHgpLmludm9rZShjaGVja2luZyk7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXJzIHRoZSBjb21tYW5kLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHJlZ2lzdGVyKCk6IHZvaWQge1xuICAgIHN1cGVyLnJlZ2lzdGVyKCk7XG4gICAgdGhpcy5wbHVnaW4ucmVnaXN0ZXJFdmVudCh0aGlzLmFwcC53b3Jrc3BhY2Uub24oJ2VkaXRvci1tZW51JywgdGhpcy5oYW5kbGVFZGl0b3JNZW51LmJpbmQodGhpcykpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGVkaXRvciBjb21tYW5kIGludm9jYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSBlZGl0b3IgLSBUaGUgZWRpdG9yIHRvIGNyZWF0ZSB0aGUgY29tbWFuZCBpbnZvY2F0aW9uIGZvci5cbiAgICogQHBhcmFtIGN0eCAtIFRoZSBjb250ZXh0IG9mIHRoZSBjb21tYW5kLlxuICAgKiBAcmV0dXJucyBUaGUgY29tbWFuZCBpbnZvY2F0aW9uLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGNyZWF0ZUVkaXRvckNvbW1hbmRJbnZvY2F0aW9uKGVkaXRvcjogRWRpdG9yLCBjdHg6IE1hcmtkb3duRmlsZUluZm8pOiBDb21tYW5kSW52b2NhdGlvbkJhc2U7XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgY29tbWFuZCBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIGNvbW1hbmQgcGFsZXR0ZS5cbiAgICpcbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgY29tbWFuZCBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIGNvbW1hbmQgcGFsZXR0ZS5cbiAgICovXG4gIHByb3RlY3RlZCBzaG91bGRBZGRUb0NvbW1hbmRQYWxldHRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgY29tbWFuZCBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIGVkaXRvciBtZW51LlxuICAgKlxuICAgKiBAcGFyYW0gX2VkaXRvciAtIFRoZSBlZGl0b3IgdG8gY2hlY2suXG4gICAqIEBwYXJhbSBfY3R4IC0gVGhlIGNvbnRleHQgb2YgdGhlIGNvbW1hbmQuXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGNvbW1hbmQgc2hvdWxkIGJlIGFkZGVkIHRvIHRoZSBlZGl0b3IgbWVudS5cbiAgICovXG4gIHByb3RlY3RlZCBzaG91bGRBZGRUb0VkaXRvck1lbnUoX2VkaXRvcjogRWRpdG9yLCBfY3R4OiBNYXJrZG93bkZpbGVJbmZvKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVFZGl0b3JNZW51KG1lbnU6IE1lbnUsIGVkaXRvcjogRWRpdG9yLCBjdHg6IE1hcmtkb3duRmlsZUluZm8pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc2hvdWxkQWRkVG9FZGl0b3JNZW51KGVkaXRvciwgY3R4KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5jcmVhdGVFZGl0b3JDb21tYW5kSW52b2NhdGlvbihlZGl0b3IsIGN0eCkuaW52b2tlKHRydWUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IGVkaXRvck1lbnVTZWN0aW9uID0gdGhpcy5lZGl0b3JNZW51U2VjdGlvbjtcbiAgICBpZiAodGhpcy5zaG91bGRBZGRDb21tYW5kVG9TdWJtZW51KSB7XG4gICAgICBlZGl0b3JNZW51U2VjdGlvbiA/Pz0gdGhpcy5wbHVnaW4ubWFuaWZlc3QubmFtZTtcbiAgICAgIG1lbnUuc2V0U2VjdGlvblN1Ym1lbnUoZWRpdG9yTWVudVNlY3Rpb24sIHtcbiAgICAgICAgaWNvbjogdGhpcy5lZGl0b3JNZW51U3VibWVudUljb24gPz8gJycsXG4gICAgICAgIHRpdGxlOiBlZGl0b3JNZW51U2VjdGlvblxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVkaXRvck1lbnVTZWN0aW9uID8/PSAnJztcbiAgICB9XG4gICAgbWVudS5hZGRJdGVtKChpdGVtKSA9PiB7XG4gICAgICBpdGVtXG4gICAgICAgIC5zZXRUaXRsZSh0aGlzLmVkaXRvck1lbnVJdGVtTmFtZSA/PyB0aGlzLm9yaWdpbmFsTmFtZSlcbiAgICAgICAgLnNldEljb24odGhpcy5pY29uKVxuICAgICAgICAuc2V0U2VjdGlvbihlZGl0b3JNZW51U2VjdGlvbilcbiAgICAgICAgLm9uQ2xpY2soKCkgPT4gdGhpcy5jcmVhdGVFZGl0b3JDb21tYW5kSW52b2NhdGlvbihlZGl0b3IsIGN0eCkuaW52b2tlKGZhbHNlKSk7XG4gICAgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBlZGl0b3IgY29tbWFuZCBpbnZvY2F0aW9ucy5cbiAqXG4gKiBAdHlwZVBhcmFtIFRQbHVnaW4gLSBUaGUgdHlwZSBvZiB0aGUgcGx1Z2luIHRoYXQgdGhlIGNvbW1hbmQgYmVsb25ncyB0by5cbiAqL1xuZXhwb3J0IGNsYXNzIEVkaXRvckNvbW1hbmRJbnZvY2F0aW9uQmFzZTxUUGx1Z2luIGV4dGVuZHMgUGx1Z2luPiBleHRlbmRzIENvbW1hbmRJbnZvY2F0aW9uQmFzZTxUUGx1Z2luPiB7XG4gIC8qKlxuICAgKiBUaGUgZmlsZSB0byBpbnZva2UgdGhlIGNvbW1hbmQgZm9yLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgZmlsZSB0byBpbnZva2UgdGhlIGNvbW1hbmQgZm9yLlxuICAgKiBAdGhyb3dzIElmIHRoZSBmaWxlIGlzIG5vdCBzZXQuXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0IGZpbGUoKTogVEZpbGUge1xuICAgIGlmICghdGhpcy5fZmlsZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdGaWxlIG5vdCBzZXQnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2ZpbGU7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IF9maWxlOiBudWxsIHwgVEZpbGU7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgZWRpdG9yIGNvbW1hbmQgaW52b2NhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHBsdWdpbiAtIFRoZSBwbHVnaW4gdGhhdCB0aGUgY29tbWFuZCBpbnZvY2F0aW9uIGJlbG9uZ3MgdG8uXG4gICAqIEBwYXJhbSBlZGl0b3IgLSBUaGUgZWRpdG9yIHRvIGNyZWF0ZSB0aGUgY29tbWFuZCBpbnZvY2F0aW9uIGZvci5cbiAgICogQHBhcmFtIGN0eCAtIFRoZSBjb250ZXh0IG9mIHRoZSBjb21tYW5kLlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHBsdWdpbjogVFBsdWdpbiwgcHJvdGVjdGVkIHJlYWRvbmx5IGVkaXRvcjogRWRpdG9yLCBwcm90ZWN0ZWQgcmVhZG9ubHkgY3R4OiBNYXJrZG93bkZpbGVJbmZvKSB7XG4gICAgc3VwZXIocGx1Z2luKTtcbiAgICB0aGlzLl9maWxlID0gY3R4LmZpbGU7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBjb21tYW5kIGNhbiBleGVjdXRlLlxuICAgKlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBjb21tYW5kIGNhbiBleGVjdXRlLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGNhbkV4ZWN1dGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHN1cGVyLmNhbkV4ZWN1dGUoKSAmJiAhIXRoaXMuX2ZpbGU7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWlCQTtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQWtDQSxNQUFlLDBCQUFrRCxZQUFxQjtBQUFBLEVBQzFFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT1YsWUFBWSxTQUE0QztBQUM3RCxVQUFNLE9BQU87QUFDYixTQUFLLHFCQUFxQixRQUFRO0FBQ2xDLFNBQUssb0JBQW9CLFFBQVE7QUFDakMsU0FBSyx3QkFBd0IsUUFBUTtBQUNyQyxTQUFLLDRCQUE0QixRQUFRO0FBQUEsRUFDM0M7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFVTyxvQkFBb0IsVUFBbUIsUUFBZ0IsS0FBZ0M7QUFDNUYsUUFBSSxDQUFDLEtBQUssMEJBQTBCLEdBQUc7QUFDckMsYUFBTztBQUFBLElBQ1Q7QUFDQSxXQUFPLEtBQUssOEJBQThCLFFBQVEsR0FBRyxFQUFFLE9BQU8sUUFBUTtBQUFBLEVBQ3hFO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLZ0IsV0FBaUI7QUFDL0IsVUFBTSxTQUFTO0FBQ2YsU0FBSyxPQUFPLGNBQWMsS0FBSyxJQUFJLFVBQVUsR0FBRyxlQUFlLEtBQUssaUJBQWlCLEtBQUssSUFBSSxDQUFDLENBQUM7QUFBQSxFQUNsRztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQWdCVSw0QkFBcUM7QUFDN0MsV0FBTztBQUFBLEVBQ1Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU1Usc0JBQXNCLFNBQWlCLE1BQWlDO0FBQ2hGLFdBQU87QUFBQSxFQUNUO0FBQUEsRUFFUSxpQkFBaUIsTUFBWSxRQUFnQixLQUE2QjtBQUNoRixRQUFJLENBQUMsS0FBSyxzQkFBc0IsUUFBUSxHQUFHLEdBQUc7QUFDNUM7QUFBQSxJQUNGO0FBRUEsUUFBSSxDQUFDLEtBQUssOEJBQThCLFFBQVEsR0FBRyxFQUFFLE9BQU8sSUFBSSxHQUFHO0FBQ2pFO0FBQUEsSUFDRjtBQUVBLFFBQUksb0JBQW9CLEtBQUs7QUFDN0IsUUFBSSxLQUFLLDJCQUEyQjtBQUNsQyw0QkFBc0IsS0FBSyxPQUFPLFNBQVM7QUFDM0MsV0FBSyxrQkFBa0IsbUJBQW1CO0FBQUEsUUFDeEMsTUFBTSxLQUFLLHlCQUF5QjtBQUFBLFFBQ3BDLE9BQU87QUFBQSxNQUNULENBQUM7QUFBQSxJQUNILE9BQU87QUFDTCw0QkFBc0I7QUFBQSxJQUN4QjtBQUNBLFNBQUssUUFBUSxDQUFDLFNBQVM7QUFDckIsV0FDRyxTQUFTLEtBQUssc0JBQXNCLEtBQUssWUFBWSxFQUNyRCxRQUFRLEtBQUssSUFBSSxFQUNqQixXQUFXLGlCQUFpQixFQUM1QixRQUFRLE1BQU0sS0FBSyw4QkFBOEIsUUFBUSxHQUFHLEVBQUUsT0FBTyxLQUFLLENBQUM7QUFBQSxJQUNoRixDQUFDO0FBQUEsRUFDSDtBQUNGO0FBT08sTUFBTSxvQ0FBNEQsc0JBQStCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQXVCL0YsWUFBWSxRQUFvQyxRQUFtQyxLQUF1QjtBQUMvRyxVQUFNLE1BQU07QUFEeUM7QUFBbUM7QUFFeEYsU0FBSyxRQUFRLElBQUk7QUFBQSxFQUNuQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBbkJBLElBQWMsT0FBYztBQUMxQixRQUFJLENBQUMsS0FBSyxPQUFPO0FBQ2YsWUFBTSxJQUFJLE1BQU0sY0FBYztBQUFBLElBQ2hDO0FBQ0EsV0FBTyxLQUFLO0FBQUEsRUFDZDtBQUFBLEVBRWlCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBbUJELGFBQXNCO0FBQ3BDLFdBQU8sTUFBTSxXQUFXLEtBQUssQ0FBQyxDQUFDLEtBQUs7QUFBQSxFQUN0QztBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
|